1

我刚开始为一个项目深入研究 ADO.NET 数据服务,但很快就遇到了问题。起初我对性能感到惊讶,但后来我意识到数据被缓存了。我的项目依赖于实时数据,我喜欢使用 ADO.NET 数据服务 REST 查询语法(无需使用 WCF 或 SOAP),但无需缓存。

我在 ADO.NET 数据服务介绍页面(此处)上看到,他们还没有 API 支持来管理缓存持续时间或类似的东西。

任何人都对如何完成此操作或关闭缓存有任何想法?

4

4 回答 4

2

我们最近发表了一篇关于如何使用 ETags 控制从数据服务返回的数据的缓存策略的帖子,http://blogs.msdn.com/astoriateam/archive/2008/04/22/optimistic-concurrency-data-services .aspx

于 2008-12-24T22:47:23.193 回答
2

默认情况下,数据上下文的 MergeOption 设置为 AppendOnly。这意味着重新请求只会添加新实体而不会更新现有实体。尝试将 MergeOption 设置为 OverwriteChanges:

this.context.MergeOption = MergeOption.OverwriteChanges;

当我注意到这一点时,这对我有用!如果您使用的是实时数据,那么您可能希望使用 NoTracking 选项完全关闭更改跟踪。

于 2009-10-06T13:39:50.470 回答
0

该链接很有帮助,但它并没有真正谈论 ETags 和缓存,它只是提到 ETags 可用于缓存。你有一个例子吗?

于 2009-01-04T23:46:23.603 回答
0

ETag的详细信息

于 2009-07-15T14:34:27.087 回答