如何從DownloadStringCompleted事件中得到此錯誤?這不就是說,它完成了嗎?是否有另外一個事件可以解決這個問題?WebClient不支持併發I/O操作
我很少遇到這個錯誤,但偶爾會發生在我的WP7手機上。我有一個網絡客戶端,我一遍又一遍地開火,然後從完成的事件中再次開啓。這是否發生,因爲仍然存在一些陳舊的連接?有沒有辦法來防止這100%?
我已檢查過線程是否有機會自行走過,但它僅在完成的事件中被解僱。
我怎樣才能確定,當整個事件被解僱時,客戶端不再是isBusy?一個建議是在客戶端忙時添加一段線程睡眠時間。
一些僞代碼。
var client = new WebClient("URL 1");
client.CompletedEvent += CompletedEvent;
client.downloadasync();
void CompletedEvent(){
Dosomestuff;
client.downloadasync(); //This is where we break.
}
我的觀點是我從來沒有打電話downloadasync,除非我在完成的事件。如果我在這種情況下,連接應該關閉還是客戶端免費?如果情況並非如此,除了使用IsBusy之外,我怎樣才能避免它? – firebellys 2012-03-19 07:12:18
是的,這個線程告訴我要做什麼,我現在正在做什麼,我得到的錯誤。我會在上面添加更多信息。 – firebellys 2012-03-20 07:50:08
只是爲了保存任何人的麻煩,上面的答案只是鏈接到這裏:http://stackoverflow.com/questions/2042258/webclient-downloadfileasync-download-files-one-at-a-time – TEK 2016-05-11 16:20:52