2

Microsoft WCF Data Services の System.Data.Services.Client (おそらくバージョン 4) を使用していました。バージョン 5.2 (Microsoft.Data.Services.Client dll) に更新したときに、新しいバージョンの WCF Data Services にキャッシュ メカニズムが挿入されたようです。

ブラウザーを介してデータ サービス (OData) にクエリを実行すると、新しいデータが返されますが、サービス参照を UI プロジェクトに追加し、その参照 (プロキシ) を使用してデータを取得すると、10 分ほど後にのみ新しいデータが返されるためです。表示されます。

IIS (iisreset.exe) をリセットすると、新しいデータが利用可能になります。これはおそらく、UI プロジェクトのどこかにキャッシュを配置する必要があることを意味します。

コードで特別なことを行うわけではありませんが、OData サービス参照を最も単純な状態で使用します。

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

1 に答える 1

3

DataService オブジェクトでクライアント側のキャッシュを無効にすることを検討し、それが役立つかどうかを確認してください。同じ問題があり、dataService.MergeOption を MergeOption = MergeOption.OverwriteChanges に設定すると、変更と取得のたびにデータ サービスがオブジェクトを更新し続けるのに役立ちました。

于 2013-01-12T02:16:56.060 に答える