2012-01-04 14 views
3

ClientHttp Stackを使用して、Silverlight 4のブラウザ外のアプリケーションからRestfulサービスを呼び出そうとしています。Silverlight Webサービスが応答する前にHttpWebRequestが404 Not Found例外をスローする

var request = (HttpWebRequest)HttpWebRequest.Create(uri); 
request.BeginGetResponse(new AsyncCallback(ExecuteResponseCallback), state); 

私が呼んでいるサービスは、要求を受信した後の応答に20秒件までかかりますが、コールバックメソッドは、約10秒後に解雇されているようです。 Fiddlerでは、200応答コードで合計30秒後にサービスが最終的に要求を完了することがわかりますが、HttpWebRequestコールバックは既に404 Not Found応答を受信して​​います。

これが発生する理由がわかりません。なぜなら、SilverlightのHttpWebRequestにタイムアウトプロパティがないため、要求が無期限に応答を待たない理由を理解できません。

私が間違っていることはありますか?

答えて

0

もう少しテストしたら、コールバックが正確に10秒で発生することがわかります。 IE9の64bit版をインストールキー

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ReceiveTimeout 

レジストリによって引き起こされることが判明した犯人と同様に、この値を変更し、いくつかの他のアプリケーションのようです。ソリューションは単にこのレジストリキーを削除するだけで、すべてがうまくいきました。

この問題もここで説明しますSilverlight ClientHttp WebRequest timeout

関連する問題