2009-02-19 88 views
1

我有一个应用程序异步使用HttpWebRequest对Web资源发出多个并发请求。尽管我已经将HttpWebRequest实例的timeout属性设置为5秒,但有时在调用BeginGetRequestStream的异步时,获取该流可能需要比这更长的时间,并且导致我引用混乱。有没有办法限制它可以请求流的时间量?另外,如果我得到流,并决定完全放弃请求,永远不会调用BeginGetResponse,那么对这种行为有什么影响?停止异步HttpWebRequest

回答

0

,你可以在这里后,使用此

ManualResetEvent allDone = new ManualResetEvent(false); 
bool isRequestFnishedInCorrectTime=allDone.WaitOne(5000); 
if(isRequestFnishedInCorrectTime==false) 
    request.Abort(); 
else 
    //request success 

重要的一点得到响应,您必须设置这样的:

allDone.Set(); 

如果请求不能在5秒内完成的请求将中止。