我有服務器和客戶端。
客戶端調用服務器上的方法,服務器響應必須準備一個字典併發送回客戶端。
此操作可能需要時間。
它應該是異步的。我閱讀說明和例子。
主要是BeginXXX和EndXXX IAsyncResult。但如果我需要服務器返回對象的字典。我如何實現這個?WCF服務器客戶端與對象的異步回調
我認爲當發送一個回調委託時,我可以發送一個客戶端函數的簽名作爲委託,當服務器完成時它將調用具有適當字典數據的委託。
我有服務器和客戶端。
客戶端調用服務器上的方法,服務器響應必須準備一個字典併發送回客戶端。
此操作可能需要時間。
它應該是異步的。我閱讀說明和例子。
主要是BeginXXX和EndXXX IAsyncResult。但如果我需要服務器返回對象的字典。我如何實現這個?WCF服務器客戶端與對象的異步回調
我認爲當發送一個回調委託時,我可以發送一個客戶端函數的簽名作爲委託,當服務器完成時它將調用具有適當字典數據的委託。
如果我明白你在一個正確的方式,你問這個(基於電子圖書館項目): WCF服務器端:
EBooksLibraryEntities ebe = new EBooksLibraryEntities();
public List<Book> tabBooks()
{
return ebe.Books.ToList();
}
客戶端:
ServiceReference1.Service1Client sr = new ServiceReference1.Service1Client();
List<ServiceReference1.Book> llb = new List<ServiceReference1.Book>();
private void GetBooksByAuthor()
{
sr.tabBooksByAuthorCompleted += new EventHandler<ServiceReference1.tabBooksByAuthorCompletedEventArgs>(sr_tabBooksByAuthorCompleted);
sr.tabBooksByAuthorAsync();
}
void sr_tabBooksByAuthorCompleted(object sender, ServiceReference1.tabBooksByAuthorCompletedEventArgs e)
{
foreach (var item in e.Result)
{
yourList.Add(item);
}
}