private async void StartTasks_Click(object sender, RoutedEventArgs e)
{
await Task.WhenAll(GetSomeData());
lblResult.Text = "Got data?";
}
private async Task GetSomeData()
{
System.Net.ServicePointManager.DefaultConnectionLimit = 16;
ServiceClient _proxy = new ServiceClient();
//*** the wcf proxy service methods just sleep for 5 seconds.
var t1 = _wcfProxy.A();
var t2 = _wcfProxy.A();
var t3 = _wcfProxy.A();
var t4 = _wcfProxy.A();
await Task.WhenAll(t1,t2,t3,t4);
}
当我点击我的按钮时,我希望我的标签文本被设置5 seconds(因为我的 WCF 方法调用只是休眠 5 秒)。嗯,它需要10 seconds。现在,当我只进行三个服务调用而不是四个时,标签设置在5 seconds.
当我在进行所有四个调用时查看性能监视器中的调用计数时,我只看到 3 个进入,然后在前三个完成后其他 1 个进入。
梦里花落0921
相关分类