我正在为一些懒惰的程序员实现一个核心服务“Facade”,这些程序员不想改变他们的编码风格(包括我),并希望实现对象缓存,这显然会导致“多长时间”的问题我应该缓存多少“。
理想的答案是永远缓存,除非数据发生变化。
是否有办法(通过某些WCF事件)实现可用于从缓存中删除项目的数据更改的“侦听器”?
顺便说一下,我现在正在使用.NET的本机ObjectCache(MemoryCache)和1分钟的滑动缓存策略。
谢谢,
<磷>氮答案 0 :(得分:7)
我所知道的WCF或Tridion中没有内置这样的系统。
你当然可以自己滚动:
这与Tridion的Broker Object Cache在Content Delivery层上的工作方式基本相似。
如果您对实施这种方法感兴趣,我建议您查看Signalr project,这会带来很多麻烦。
编辑:事实证明,WCF的内容类似于你所要求的Callbacks。请参阅this question和this blog post。