0

代码看起来像这样

 var request = WebRequest.Create(new Uri(reqStr, UriKind.Absolute));
                request.Method = "POST";
                request.Timeout = 15000;

 Stream dataStream = request.GetRequestStream();            
 WebResponse response = request.GetResponse();

 var dataStreamResp = response.GetResponseStream();

我每 10 秒调用一次,它工作正常。如果我禁用我的本地连接,然后启用,它仍然可以工作。但是,当服务器重新启动时,我收到超时异常(服务器在重新启动后工作)。问题是什么?

4

1 回答 1

0

您的服务器启动和开始服务请求的时间似乎超过 15 秒。

如果请求正在处理中并等待响应并且服务器关闭了连接而不是发送响应,那么您将抛出不同的异常。

我建议安装 Fiddler2 并观察请求发生了什么。您应该能够看到请求是否在服务器启动后开始,以及服务器在这种情况下做了什么(关闭连接、最终发送响应等)。

然后,您还可以使用 Fiddler 保存请求并在服务器重新启动后(几秒钟内)立即重播,以确认独立 HTTP 客户端看到的结果与您的代码相同,这样您就会知道它不值得调试您的客户端代码,因为问题在于您的服务器启动时间过长。

哈罗德

于 2013-09-30T12:51:57.833 回答