C# 创建异步web服务

C# 创建异步web服务,c#,service,asynchronous,web,C#,Service,Asynchronous,Web,是否可以创建一个可以异步调用的C#web服务,而无需自动生成的客户端通过多线程提供同步。是的,自动生成的代理始终包含每个方法的同步和异步版本。例如,如果服务器公开一个名为DoWork的方法,则代理将同时包含DoWork方法和doworksync方法。当异步版本的方法完成其工作时,代理将引发一个已完成事件,在本例中为DoWorkCompleted。DoWork方法的返回值将包含在事件参数中。谢谢,但我想知道服务如何回调到客户端?我mean@MattW我的编辑是否回答了您的问题,或者您是否仍然对回调

是否可以创建一个可以异步调用的C#web服务,而无需自动生成的客户端通过多线程提供同步。

是的,自动生成的代理始终包含每个方法的同步和异步版本。例如,如果服务器公开一个名为
DoWork
的方法,则代理将同时包含
DoWork
方法和
doworksync
方法。当异步版本的方法完成其工作时,代理将引发一个已完成事件,在本例中为
DoWorkCompleted
DoWork
方法的返回值将包含在事件参数中。

谢谢,但我想知道服务如何回调到客户端?我mean@MattW我的编辑是否回答了您的问题,或者您是否仍然对回调感到疑惑?谢谢,但我想知道服务如何能够回调到客户端?我的意思是:似乎客户端(自动生成或不自动生成)必须处理调用这两个DoWork方法,这似乎保持了客户端的异步特性。服务本身是否可以调用客户端上的方法?抱歉,尝试在我的手机上写入此内容。试图了解异步电源是否在任何时候都真正由服务器提供。它似乎以这样或那样的形式完全由客户机完成。不,如果它是传统的asmx Web服务,则不会。如果它是WCF服务,那么是的,它可以。传统Web服务回调客户机的唯一方法是在客户机上运行一些其他自定义通信方案,例如回调Web服务。