我知道这是一个模糊的问题,特别是因为我没有提供任何代码,但我正在开发一个.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 }