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