C#如何"检查","取消",并等待异步WebRequests?

PiZ*_*zL3 5 c# asynchronous webrequest httpwebrequest

假设我有50个我开始使用的请求BeginGetResponse.

如何查看每个请求的状态?
以及如何取消它(有时它们会挂起)?
以及如何在完成或取消所有请求后执行操作?

Fun*_*ung 7

BeginGetResponse回复的电话IAsyncResult.保持对它的引用.您可以使用它IAsyncResult.AsyncState来检查请求的状态.

要取消请求,请调用WebRequest.Abort原始WebRequest实例.

要在完成或取消所有请求时执行某些操作,请IAsyncResult.AsyncWaitHandle为每个请求获取WaitHandle ,然后等待所有请求.这里有示例代码.