2009-02-19 134 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秒內完成的請求將中止。