我需要从一个WCF服务中调用三个不同的异步方法。以下是包含所有三个调用的方法:
private async Task CreateMultipleTasksAsync()
{
CrimcaseServiceClient client = new CrimcaseServiceClient(
new BasicHttpBinding(),
new EndpointAddress("http://192.168.1.100/FooService/FooService.svc")
);
client.GetEventCompleted += OnGotEventResult;
client.GetEventAsync(eventInfo);
client.GetLocationsCompleted += OnGotLocationsResult;
client.GetLocationsAsync();
client.GetTypesCompleted += OnGotTypesResult;
client.GetTypesAsync();
}
完成三个调用之后,我需要填充一些值。但是,我似乎遇到了如何等待所有三个调用先完成的问题。
我尝试使用这个调用,但它仍然没有等待所有调用完成,就继续进行下一部分代码:
private void GrabData()
{
var task = Task.Run(async () => { await CreateMultipleTasksAsync(); });
task.Wait();
}
非常感谢任何建议,因为我现在不知道该怎么做了。
谢谢大家。
void
返回的? - Yuval Itzchakov