rip*_*234 0 .net connection timeout http httpwebrequest
我已经设置了HttpWebRequest的 Timeout和ReadWriteTimeout ,并且在尝试连接到不存在的服务器时,GetRequestStream仍然没有超时.在DNS解析被攻击时,我遇到了类似的问题,但这次有问题的服务器在我自己的机器上运行(localhost),所以这不相关.
场景是这样的:
此时线程挂起.我尝试将KeepAlive设置为false,但这没有用.
我想在一个单独的线程中运行上面的场景,如果它需要太长时间自己杀死它 - 但是这个解决方案非常难看并且不会阻止资源泄漏.
尝试使用BeginGetRequestStream和EndGetRequestStream而不是GetRequestStream.设置一个计时器并在经过足够的时间后过早地调用EndGetRequestStream,假设请求将挂起.显然,如果你正常处理请求,你还必须在传递给BeginGetRequestStream的委托中调用EndGetRequestStream,这样两个线程之间必须有一些同步,以防止两次调用EndGetRequestStream.