REST Web サービスと通信すると、ステータス コード 304 の http 応答が返され、要求されたリソースが変更されていないことが示されます。ただし、HttpWebRequestクラスを使用する WP7 アプリケーションでは、電話がこのタイプの応答を正常に読み取るまでにちょうど 2 分かかります。
HttpWebRequest request = HttpWebRequest.Create("path/to/unchanged/resource") as HttpWebRequest;
request.Method = "GET";
request.BeginGetResponse(
new AsyncCallback(
(aysncResult) => {
// response is read correctly here... 120 seconds later
}), null);
Web サービスが 304 ですぐに応答し、本文データがなく、要求自体がタイムアウトしておらず、アプリケーションが他の応答コード [404、201 など] を正常に処理できることがわかります。Silverlight ブラウザーの "キャッシュ" の問題でしょうか?
誰かがこれを以前に見たことがあることを確認できますか、またはこの問題について何か考えがありますか?
乾杯、アラスデア。
== 追加情報 ==
WP7 が特定のリクエスト ヘッダーを制限した結果、すべてのリソース リクエストにカスタムの [If-Modified-Since] ヘッダーを使用します。このカスタム ヘッダー [X-If-Modified-Since] は、Web サービスの前にあるファイアウォールによって認識され、変更されて標準ヘッダーに戻されます。これが上記の問題に関連しているかどうかはわかりません。