質問

私はプロジェクトのためにADO.NETデータサービスにダイビングを開始し、私はすぐに問題に遭遇しました。最初に私は、パフォーマンスに驚きましたが、その後、私は、データがキャッシュされたことに気づきました。私のプロジェクトは、リアルタイムのデータに依存している、と私は(WCFまたはSOAPを使用しなくても)ADO.NET Data ServicesのRESTクエリ構文を使用してみたいが、キャッシュなしています。

私は(ADO.NET Data Servicesの紹介ページで見たここ)彼らはまだキャッシュ期間などのものを管理するためのAPIをサポートしていないこと。

誰もがこれを実現する方法のいずれかのアイデアを持っている、またはキャッシュをオフに?

役に立ちましたか?

解決

デフォルトでは、データコンテキストは、MergeOptionがAppendOnlyに設定されています。これは、再要求は唯一の新しいエンティティを追加し、既存のものを更新しないことを意味します。 OverwriteChangesにMergeOptionを設定してみてください。

this.context.MergeOption = MergeOption.OverwriteChanges;

私はこれに気づいたとき、これは私のために働きました!あなたはリアルタイムデータを使用しているなら、あなたはNoTrackingオプションで完全に変更追跡をオフにすることをお勧めします。

他のヒント

私たちは、<のhref = "http://blogs.msdn.com/astoriateam/archive/2008/04/22、データサービスから返されたデータのキャッシュポリシーを制御するためてETagを使用する方法について最近のポストを作りました/optimistic-concurrency-data-services.aspx」のrel = "nofollowをnoreferrer"> http://blogs.msdn.com/astoriateam/archive/2008/04/22/optimistic-concurrency-data-services.aspx

そのリンクが便利ですが、それは本当にてETagとキャッシングの話をしない、それだけでてETagはのキャッシュのためにを使用することができることを言及しています。あなたは例を持っていますか?

のETag のnoreferrer">

scroll top