2013-01-09 40 views
2

我们使用微软WCF数据服务的System.Data.Services.Client(第4版我猜)。当我们更新到版本5.2(Microsoft.Data.Services.Client DLL),似乎有些缓存机制已插入到WCF数据服务的新版本。Microsoft.Data.Services.Client是否缓存数据?

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

通过重置IIS(iisreset.exe命令)新的数据将是可用的,这可能意味着在UI项目某处缓存要到位。

我们不做平凡的事在我们的代码,但在其最简单的状态使用OData服务参考:

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

回答

3

考虑DataService的对象禁用客户端缓存,看看是否有帮助。我有同样的问题,并设置dataService.MergeOption到MergeOption = MergeOption.OverwriteChanges帮助保持数据服务刷新每个变化obejct而得到的。