在將Windows 8應用程序轉換爲Windows Phone但遇到WCF連接和異步通信問題的過程中。總結一下,我試圖調用一個連接到Ms SQL Server的WCF服務,但是對於所有的「await serviceClient.getEmployeesAsync();」或類似的接收「不能等待無效」。Win8到WP App異步/等待對話
什麼是解決這個問題最簡單的方法,因爲我有很多類似於Windows 8應用程序,但不是Windows Phone應用程序可以正常工作的方法。
private async void btnGetAllStaff_Click(object sender, RoutedEventArgs e)
{
//Create a client object to access the service
DataProvider.DataProviderClient serviceClient = new DataProvider.DataProviderClient();
//Get the staff objects from the service
ObservableCollection<DataProvider.Employee> employees = await serviceClient.getEmployeesAsync();
//Add the objects to the list view
foreach (DataProvider.Employee employee in employees)
{
lstStaff.Items.Add(employee.FirstName+" "+employee.LastName);
}
}
我應該補充一點,我是WCF和網絡編程的新手!
感謝
您只能等待任務或任務。 getEmployeesAsync方法需要返回一個任務或任務 –
@ShawnKendrot這不是真的。您可以等待任何具有GetAwaiter方法的方法,該方法返回具有給定方法集的對象。 「任務」有這樣一種方法。您可以創建自己的類型,但也可以等待。 – Servy
您的錯誤消息指出getEmployeesAsync返回void,您不能等待void –