I'm trying to run ThisWebClient.Fetch in a loop in order to fill data in a queue. However, pagereceived is not called until the end of the loop (both in synchronous and asynchronous mode), so I only get data in the last entry of the queue. Is it in any way possible to use Fetch in a loop or do I have to think of another solution? Ideally, I'd wanted to run ThisWebClient.Fetch --> Call pagereceived (or error) --> Return to the loop where it left and continue processing the rest of the data. It would really be more practical to have it call the same produre each time so I knew where it would end up no matter if there was an error or not (i.e. a "fetchresult"). Obviously there will be some time delay, but this is not a time-critical application.