Come è possibile ottenere questo errore nell'evento DownloadStringCompleted? Non significa, è finito? C'è un altro evento da cui posso lanciarlo?WebClient non supporta le operazioni di I/O simultanee
Ricevo questo errore estremamente raramente, ma una volta ogni tanto accade sul mio telefono WP7. Ho un client web che faccio fuoco più e più volte e lo sparo di nuovo dall'evento completato. Sta succedendo perché c'è ancora qualche connessione stantia aperta? C'è un modo per prevenire questo 100%?
Ho verificato se c'è una possibilità che il thread si cammini su se stesso, ma viene attivato solo dall'evento completato.
Come posso essere sicuro, quando viene attivato l'evento completo, il client non è più èBusy? Un suggerimento era quello di aggiungere un po 'di tempo con un thread in attesa mentre il client è occupato.
Alcuni pseudo codice.
var client = new WebClient("URL 1");
client.CompletedEvent += CompletedEvent;
client.downloadasync();
void CompletedEvent(){
Dosomestuff;
client.downloadasync(); //This is where we break.
}
Il mio punto è che non ho mai chiamo downloadasync a meno che io sono in caso completato. La connessione non dovrebbe essere chiusa e il client è gratuito se sono in quell'evento? Se questo non è il caso, come posso evitare di utilizzare IsBusy? – firebellys
Sì, questa discussione mi sta dicendo di fare esattamente quello che sto facendo ora e sto ricevendo l'errore. Aggiungerò qualche altra informazione sopra. – firebellys
Solo per salvare qualcuno, la risposta sopra riportata è solo per i collegamenti qui: http://stackoverflow.com/questions/2042258/webclient-downloadfileasync-download-files-one-at-a-time – TEK