我有一些代碼迭代了幾百個URL並從網上請求數據。HttpWebRequest.BeginGetResponse不是異步
它看起來是這樣的
for each url in urls
Dim hwr = CType(WebRequest.Create(url), HttpWebRequest)
Dim rq = New ReqArgs
rq.Url= url
rq.Request = hwr
Dim res =
hwr.BeginGetResponse(New AsyncCallback(AddressOf FinishWebRequest), rq)
Dim a = 1
next
這是否看行嗎?
爲什麼BeginGetresponse
行佔用了大約2-3秒之前要去dim a=1
?
實際上,我調試過,並且我看到FinishWebRequest
過程在達到Dim a=1
之前完全運行。
那麼這是異步?
我沒有通過使用異步賺取任何時間。我是嗎?還是有不同的方式來做到這一點?
的一點是,主要分應該斷火300個請求並返回控制到UI,那麼FinishWebRequest
應該處理他們慢慢在自己的線程和自己的時間,因爲請求進來,
怎麼辦我這樣做?
順便說一下,主要分是在BackgroundWorker
運行,但我檢查了BackgroundWorker
和問題是一樣的
看來,答案應該是here但它只是不工作對我來說
我是WPF 4.0
感謝您的幫助和建議。由於
謝謝,Giddy!有人對我有任何答案嗎? – 2011-04-01 08:21:52
我認爲我的問題是,即時通訊使用POST,而不是GET。我會檢查這個,然後POST(杜!) – 2011-04-01 09:42:01