偶尔爬行时,我的回复非常慢。
连接速度不慢,因此超时不起作用。它的主机速度为3-4字节/秒。
如果超时需要超过10秒,是否有办法终止此请求?
答案 0 :(得分:2)
您要做的是在自己的线程上启动爬网过程,该过程在指定时间后超时。查看HttpWebRequest类上的BeginGetResponse(),该类启动一个线程并在完成时调用指定的函数。您可以为此方法添加超时机制,如下页的“示例”部分所示:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.begingetresponse(v=VS.71).aspx。
抱歉,我没有任何代码可以显示如何完成此操作,但该页面上的示例似乎已完成。
答案 1 :(得分:0)
如果您的HttpWebRequest在一个线程中,您可以通过在线程本身上调用Abort来终止请求...我知道这可能是“过度杀伤”......也许其他人有更好的想法...