Silverlight HttpWebRequest 在 Webservice 响应之前抛出 404 Not Found 异常
zhujiabin
阅读:39
2025-06-02 22:19:02
评论:0
我正在尝试使用 ClientHttp 堆栈从 Silverlight 4 Out of browser 应用程序调用 Restful 服务。
var request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.BeginGetResponse(new AsyncCallback(ExecuteResponseCallback), state);
我正在调用的服务在收到请求后最多需要 20 秒才能响应,但回调方法似乎在大约 10 秒后触发。我可以在 Fiddler 中看到,该服务在总计 30 秒后最终完成了带有 200 响应代码的请求,但是 HttpWebRequest 回调已经收到了 404 Not Found 响应。
我看不出发生这种情况的任何原因,Silverlight 中的 HttpWebRequest 没有超时属性,所以我不明白为什么请求不会无限期地等待响应。
我做错了什么吗?
请您参考如下方法:
经过更多的测试,结果是回调恰好在 10 秒时触发。原来是注册表项导致的
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ReceiveTimeout
安装 IE9 64bit 似乎是罪魁祸首,还有一些其他应用程序修改了这个值。解决方案是简单地删除此注册表项,一切都很好。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



