是否可以通知Tridion Core Service数据更改?

时间:2012-07-29 13:57:02

标签: tridion

我正在为一些懒惰的程序员实现一个核心服务“Facade”,这些程序员不想改变他们的编码风格(包括我),并希望实现对象缓存,这显然会导致“多长时间”的问题我应该缓存多少“。

理想的答案是永远缓存,除非数据发生变化。

是否有办法(通过某些WCF事件)实现可用于从缓存中删除项目的数据更改的“侦听器”?

顺便说一下,我现在正在使用.NET的本机ObjectCache(MemoryCache)和1分钟的滑动缓存策略。

谢谢,

<磷>氮

1 个答案:

答案 0 :(得分:7)

我所知道的WCF或Tridion中没有内置这样的系统。

你当然可以自己滚动:

  1. 使用事件处理程序
  2. 侦听对TCM服务器上相关数据的更改
  3. 让这些事件处理程序将事件转发到中央通知服务器
  4. 让WCF客户端在启动时注册该通知服务器
  5. 让通知服务器随后将通知发送到已连接的客户端
  6. 这与Tridion的Broker Object Cache在Content Delivery层上的工作方式基本相似。

    如果您对实施这种方法感兴趣,我建议您查看Signalr project,这会带来很多麻烦。


    编辑:事实证明,WCF的内容类似于你所要求的Callbacks。请参阅this questionthis blog post