4

Windows Phone 7.1 プロジェクトで RestSharp を使用しています。

私の問題は、RestSharp が常に応答データをキャッシュすることです。

例:

初めてリクエストを送信すると、データが正しく返されます。いくつかの削除操作の後、その要求を再度送信しましたが、応答は最初と同じようで、何も変わっていません。

デバッグを停止し、F5 キーを押して再開すると、期待どおりに完全に機能します。

私も試しrequest.AddParameter("cache-control", "no-cache", ParameterType.HttpHeader);てみましたが、運がありませんでした。

この問題を解決するにはどうすればよいですか?

4

4 に答える 4

3

Rico Suter のコメントで解決策を見つけました、ありがとう! これを承認済みのアンサーとしてマークします

ハックですが、url = originalUrl + "&nocache=" + DateTime.Now.Ticks のようなものを試してください

于 2012-04-20T02:12:36.173 に答える
1

「Cache-Control」ヘッダーでうまくいくはずです!

HTTP ヘッダーは大文字と小文字を区別しないと思いますが、サーバーが同意しない可能性があります。Cache-Control代わりに使用してみてくださいcache-control...

Pragmaまた、リクエストに値を含むヘッダーも追加しno-cacheます (一部の古いサーバーは「Cache-Control」ヘッダーを使用しませんが、これを確実に認識します)。

そして、Fiddler を使用して通信をデバッグし、ヘッダーが実際に期待どおりにサーバーに送信されていることを確認します!

于 2012-04-19T17:21:09.913 に答える
0

別の解決策は、「If-Modified-Since」ヘッダーに次の値を設定することですDateTime.Now

client.AddDefaultParameter("If-Modified-Since", DateTime.Now, ParameterType.HttpHeader);
于 2015-06-01T13:46:28.453 に答える