2014-10-09 3 views
2

이 거기에 이벤트 파이프 라인에 후크 7.올립니다 이벤트는 7

내가 좋아하는 것 umbraco에 부하가 분산 된 서버에서 이벤트를 발생시킬 수있는 기본 방법을 umbraco에서 새로 캐시가 일단로드 밸런싱 된 서버는 에디터 - 서버가 분산 콜 (distributed call)로서 캐시를 클리어하는 것을 완료한다.

새로 게시 된 콘텐츠를 기반으로 일부 사용자 지정 캐시를 지워야하며이 유형의 기능에 대한 이벤트가 이미있는 경우 내 솔루션을 구축하지 않으려합니다.

은 내가 이미이 사건에 매여있다 : 이들의

Umbraco.Core.Services.ContentService.Created Umbraco.Core.Services.ContentService.Saved Umbraco.Core.Services.ContentService.Publishing Umbraco.Core.Services.ContentService.Published

없음은 편집기 서버에 부하가 분산 된 서버에 화재 보이지 않는다. 정상적인 컨텐트 게시는 솔루션의 distributedcalls 구성에서 의도 한대로 작동합니다.

답변

2

나는 사용자 정의 캐시와 매우 유사한 필요가 있고, 이러한 이벤트 성공해야했습니다

umbraco.content.AfterRefreshContent
umbraco.content.AfterUpdateDocumentCache
umbraco.content.AfterClearDocumentCache

+0

는 이러한 이벤트가되지 않는 umbraco.cms.businesslogic를 사용하는 것을 .web.Document – VilladsR

+0

사실, Umbraco.Web.PublishedCache.XmlPublishedCache.RoutesCache.ResolutionFrozen()이 적극적으로 사용하고 있기 때문에 우리가 가진 것이 최선이라고 두려워합니다. 이벤트의 다른 단점은 너무 거칠어서 어떤 내용이 업데이트되었는지를 나타내는 유용한 페이로드를 포함하지 않는다는 것입니다. 즉, 필자의 구현에서는 필요한 캐시 부분을 지능적으로 무효화하는 대신 이러한 이벤트에 대한 응답으로 전체 캐시를 무효화해야합니다. – nullPainter

+0

답변을 수락했지만 최적의 솔루션을 찾기 위해 계속 검색 할 것입니다. 감사합니다 – VilladsR