-1
我們有一個WCF服務的方法和他們的異步,我們想叫他們異步。
下面的代碼掛斷:WCF異步方法調用掛起?
private void btnRunTest_Click(object sender, EventArgs e)
{
Task<List<DtoEmployee>> resultOfLoadEmployees = LoadEmployeesAsync(predicateEmployee1); // hangs up on this line
resultOfLoadEmployees.Wait();
var employeeList = resultOfLoadEmployees.Result;
foreach (var item in employeeList)
{
//Do Something
}
}
private async Task<List<DtoEmployee>> LoadEmployeesAsync(int employeeNumber)
{
return await _serviceClient.EmployeeGetListAsync(employeeNumber);
}
,但下面的代碼是OK和運行沒有問題:
private async Task<List<DtoEmployee>> LoadEmployeesAsync(int employeeNumber)
{
return await _serviceClient.EmployeeGetListAsync(employeeNumber);
}
private async void btnRunTest_Click(object sender, EventArgs e)
{
List<DtoEmployee> employeeList = await LoadEmployeesAsync(employeeNumber);
foreach (var item in employeeList)
{
//Do Something
}
}
有什麼區別,哪一個是正確的異步WCF方法調用?
的「resultOfLoadEmployees.Result」沒有幫助的東西要麼。 –
@BigDaddy當然。雖然,「等待」已經先殺死了它。 –