在C#中,如何对WCF Web服务进行异步调用?我有一个服务参考设置来生成异步。我还修改了我使用{WebServiceObject.Begin *()}的调用,但最后有两个参数,'AsyncCallback'和'object asyncState'。这些是什么以及如何使用它们?
谢谢,
答案 0 :(得分:4)
您可能还想查看Async without the Pain
答案 1 :(得分:3)
请参阅MSDN 这里; http://msdn.microsoft.com/en-us/library/system.asynccallback.aspx
这里; http://msdn.microsoft.com/en-us/library/ms228969.aspx
这里; http://msdn.microsoft.com/en-us/library/ms228975.aspx
在这里; http://msdn.microsoft.com/en-us/library/86wf6409.aspx
基本上在Begin *中设置回调,操作完成后调用回调。在那里你调用End *来检索适当的数据。
答案 2 :(得分:2)
操作完成后调用回调,因此您可以调用End *并获取返回值或异常(如果有)。如果在多个地方使用相同的回调方法,asyncState只是回调中匹配的值。以下是异步设计模式的说明 - http://msdn.microsoft.com/en-us/library/aa719595(VS.71).aspx
如果您正在创建GUI应用程序,请考虑使用另一个版本 - * Async方法,该方法也是为每个操作生成的。它提供了线程同步。