繁体   English   中英

HttpWebRequests在后续调用时失败

[英]HttpWebRequests Failing on Subsequent Calls

我知道这是一个模糊的问题,特别是因为我没有提供任何代码,但我正在开发一个.Net 2.0应用程序,我们有一个WebRequest,它将数据发布到内部构建的API。

奇怪的事情发生在我们的第3个(并且总是第3个)后续请求中,该请求在请求的GetRequestStream()方法中失败。 它第一次和第二次被叫,一切都很好。 在第三次,它挂了一点,最终超时。

内部的其他应用程序正在调用API,因此我们知道它不是服务器端或网络问题。 我们尝试过几台机器 - 所有机器都有同样的问题。 有没有人曾经遇到过这个问题,或者有没有人对如何调试有所了解(因为响应对象没有任何东西,或者至少没什么用处)。

如果您没有处理WebResponse,通常会发生这种情况。 从客户端到同一台计算机的连接数有一个限制,默认情况下是两个。 如果关闭WebResponse,则可以重用(或关闭)连接。 using语句是你的朋友:

WebRequest request = [...];
// Do stuff with the request stream here (and dispose it)
using (WebResponse response = request.GetResponse())
{
    // Stuff with the response
}

是的,你完全正确。 答复没有得到妥善处理。 我们一直把它留给垃圾收集器,你猜对了,没有及时收集。 不幸的是,我关闭了我的浏览器,忘了阅读任何答案( 大声笑你觉得我觉得多愚蠢 ),问题解决了。

我今晚学到了两件事。 1,妥善处理您的WebRequests; 2,更加注意堆叠溢出的答案!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM