2012-06-14 211 views
3

是否可以創建一個可以異步調用的C#Web服務,而不需要自動生成的客戶端需要通過多線程提供同步。創建異步Web服務

回答

3

是的,自動生成的代理始終包含每個方法的同步和異步版本。例如,如果服務器公開名爲DoWork的方法,則該代理將包含一個DoWork方法和一個DoWorkAsync方法。當方法的異步版本完成它的工作時,代理引發完成的事件,在這種情況下爲DoWorkCompleted。來自DoWork方法的返回值將包含在事件參數中。

+0

謝謝,但我想知道服務如何回調到客戶端?我的意思是 –

+0

@MattW我的編輯是否回答你的問題,或者你還在想回調? –

+0

謝謝,但我想知道服務如何回調到客戶端?我的意思是:似乎客戶端(自動生成或不)必須處理調用DoWork方法,這似乎在客戶端保持異步性。服務本身是否可以在客戶端調用一個方法? –