0

I look that the signature of umbraco.content.AfterUpdateDocumentCache event uses umbraco.cms.businesslogic.web.Document object. Unfortunatelly it is deprecated in "Umbraco 7".
What is the new event?

I'm the same issue in umbraco.content.AfterClearDocumentCache event.

Thanks

4

3 回答 3

3

umbraco7 代码中似乎没有任何类似umbraco.content.AfterUpdateDocumentCache 的 for 。

看来您可能不得不重新考虑对挂起的可用事件的实现方法Umbraco.Core.Services.ContentService

ContentService.Publish例如,查看 u7实现,这个调用内部SaveAndPublishDo显示 PreviewXML 和 ContentXML 磁盘缓存在触发 Saved 和 Published(通过 Umbraco.Core.Publishing.PublishingStrategy)事件之前被调用。我认为旧umbraco.content.AfterUpdateDocumentCache事件是在上述两个事件之后发生的一个事件。在它缺席的情况下 - 我相信您可能需要单独注意保存/发布/删除的事件。我可以看到有一堆事件会导致缓存更新,单独连接它们会很痛苦 - 但也许特定于可用事件粒度的不同方法是升级?!

Umbraco.Core.Cache.CacheRefresherBase我看到有 OnCacheUpdated 之类的事件的地方回溯也可能会有所帮助。它们确实存在-尽管我不确定它们是否或在何处公开曝光。

这可能更适合作为评论(我需要更多积分),因为它不是您问题的 100% 解决方案。希望朝着正确的方向轻推可能会有所帮助?

于 2014-01-13T23:43:28.620 回答
0

我决定在 Umbraco 7 中使用 AfterUpdateDocumentCache,但注意到两个问题。首先是双重触发此事件。第二个问题是,仅在此事件中呈现页面时,我检索到相同的未修改内容。

然后我决定使用 CacheRefresherBase 和 CacheUpdate 事件,但仍然有同样的问题。可能是由于额外的缓存刷新传播。

我看到的唯一解决方法是在新任务中使用 Thread.Sleep 并稍后执行清除 url。

于 2021-03-10T13:57:56.693 回答
0

http://issues.umbraco.org/issue/U4-3462

根据这个线程,由 Umbraco 团队的成员回答,AfterUpdateDocumentCache 仍应使用,并且已弃用的参数可以安全地忽略

于 2016-06-30T10:22:33.247 回答