【问题标题】:Does Microsoft.Data.Services.Client caches data?Microsoft.Data.Services.Client 是否缓存数据?
【发布时间】:2013-01-09 14:24:18
【问题描述】:

我们使用的是 Microsoft WCF 数据服务的 System.Data.Services.Client(我猜是第 4 版)。当我们更新到 5.2 版本(Microsoft.Data.Services.Client dll)时,似乎在新版本的 WCF 数据服务中插入了一些缓存机制。

因为当我们通过浏览器查询数据服务(OData)时,会返回新数据,但是当我们向我们的 UI 项目添加服务引用并使用该引用(代理)检索数据时,仅在 10 分钟左右之后将显示新数据。

通过重置 IIS (iisreset.exe) 可以获得新数据,这可能意味着 UI 项目中的某处应该有缓存。

我们并没有在代码中做一些特别的事情,而是在最简单的状态下使用 OData 服务引用:

public List<Customer> GetCustomers()
{
    CustomersODataModel customersData = new CustomersODataModel("Url");
    return customersData.ToList();
}

【问题讨论】:

    标签: wcf caching odata wcf-data-services


    【解决方案1】:

    考虑在 DataService 对象中禁用客户端缓存,看看是否有帮助。我遇到了同样的问题,将 dataService.MergeOption 设置为 MergeOption = MergeOption.OverwriteChanges 有助于保持数据服务在每次更改时刷新对象并获取。

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 2018-02-18
      相关资源
      最近更新 更多