1

我正在创建一个简单的(控制台)应用程序来使用带有 C# 的 HTTP 请求来远程控制视频设备(编码器)。我需要向设备发送 XML 数据,设备通过发送 XML 数据进行响应。

我用来执行此请求的代码如下: http: //pastebin.com/59CXR3m9

当我尝试测试此代码时,会创建请求并写入流。我可以按预期看到"stream created"标志,但是,没有任何反应。即使我使用特定的低超时(例如 5 秒),应用程序似乎也卡住了。

为了解决这个问题,我激活了System.Net跟踪记录。我发现 a WebExceptionis throwed by GetRequestStream,但出于一个原因,我的代码中没有捕获到这个异常。try/catch这是一个例外:

System.Net Error: 0 : [1344] Exception in the HttpWebRequest#44223604:: - The underlying connection was closed: The connection was closed unexpectedly.

我可以按需发送完整的跟踪。

我还对调用堆栈进行了另一次跟踪,显示异常是由以下原因引发的GetRequestStream: http: //pastebin.com/vE5QZGBe

我用另一台设备测试了这段代码,它运行良好,所以这与设备相关,但我看不出有什么理由不会捕获该异常。由于这可能是生产环境,代码必须能够正确处理(而不是无休止地等待响应)。

有人已经有这种行为了吗?任何建议都非常感谢:)

谢谢!

仅供参考:如果有帮助,我也有成功请求的痕迹

4

0 回答 0