Microsoft.Data.Services.Client是否缓存数据?

时间:2013-01-09 14:24:19

标签: wcf caching odata wcf-data-services

我们使用的是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();
}

1 个答案:

答案 0 :(得分:3)

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