我刚刚开始研究一个项目的ADO.NET数据服务,很快就遇到了一个问题。起初,我对性能感到惊讶,但后来我意识到数据是缓存的。我的项目依赖于实时数据,我喜欢使用ADO.NET数据服务REST查询语法(不需要使用WCF或SOAP),但不需要缓存。
我在ADO.NET数据服务简介页面(here)上看到,他们还没有提供用于管理缓存持续时间或类似内容的支持。
有谁知道如何实现这一点,或者关闭缓存?
发布于 2009-10-06 13:39:50
默认情况下,数据上下文的MergeOption设置为AppendOnly。这意味着重新请求只会添加新实体,而不会更新现有实体。尝试将MergeOption设置为OverwriteChanges:
this.context.MergeOption = MergeOption.OverwriteChanges;当我注意到这一点时,这对我很有效!如果您使用的是实时数据,那么您可能希望使用NoTracking选项完全关闭更改跟踪。
发布于 2008-12-24 22:47:23
我们最近发表了一篇关于如何使用ETags来控制从数据服务http://blogs.msdn.com/astoriateam/archive/2008/04/22/optimistic-concurrency-data-services.aspx返回的数据的缓存策略的文章
发布于 2009-01-04 23:46:24
这个链接很有帮助,但它并没有真正讨论ETags和缓存,它只是提到了ETags可以用于缓存。你有一个例子吗?
https://stackoverflow.com/questions/353288
复制相似问题