有它获取与进步多个异步跟踪调用
var response = (HttpWebResponse)await request.GetResponseAsync();
服务器响应有额外的代码来设置请求的方法。我用异步方法来包装它。此方法将url作为参数。这个方法的调用再次包装一个方法,它构造了实际的url。
想象最终methodcall看起来是这样的:
string resultString = await GetResultString(parameter);
那么下面的问题发生:我想在同一时间发送多个请求。我有一个参数列表。我这样做:
var tasks = new List<Task<string>>();
foreach(parameter in parameters)
{
tasks.Add(GetResultString(parameter));
}
List<string> resultStrings = await TaskEx.WhenAll(tasks);
这也很好。但是请求的数量是可变的。所以它可能是10个请求。但是,你也可能发出10.000个请求甚至100.000个请求。所以我想到了在进度条上监控进度。但我怎么能这样做?我已经看过this一段代码,但是我不知道如何将它用于我的代码。我需要举办一个活动,每次任务结束。但是当一个任务完成后,什么时候没有任何回调?
感谢和问候
PS:有人能告诉我如何使用复制粘贴&代码没有把四个空格中的每一行代码的前面?我无法从高级帮助中获得任何帮助。我只是无法得到它的工作。我很抱歉我的英语不太完美。我是德国人。 :-)
复制并粘贴来自编辑器(即Visual Studio)的代码。突出显示文本并单击编辑器中的{}图标;) – craig1231 2012-01-17 23:11:41
使用您在链接中提供的代码时,出现了什么问题?你可以使用该代码并向我们展示你遇到的问题吗?该代码似乎很清楚 – Prescott 2012-01-17 23:26:02
我还没有将我的代码转换为链接中提供的代码。我根本不知道如何或在哪里触发该代码中的多个异步任务。在那里的某个地方,我需要做一些类似于“TaskEx.WhenAll(任务)”的东西,不是吗? – 2012-01-17 23:37:04