WCF同步和异步调用之间的区别?

Bre*_*ead 4 wcf

我是WCF的新手,想知道它使同步调用或异步调用有什么区别,如果有人会用例子解释它会非常有用

感谢名单

Lad*_*nka 6

来自客户端的异步调用与.NET Framework中的任何ohter异步操作相同.当您从线程到WCF服务进行同步调用时,线程将挂起.这意味着在服务调用返回响应或异常之前,线程将无法执行任何其他工作.相反,异步调用将在单独的线程(由框架创建)中运行,因此您的主线程将能够继续运行,并且将通过回调(事件)通知异步调用的完成.

因此,假设您将WinForms应用程序作为WCF客户端,并且您希望调用WCF服务.如果您进行同步调用将需要几秒钟才能完成,您的应用程序将暂停此处理时间=用户将无法对应用程序执行任何操作(仅从任务管理器中删除它).但是如果你使用异步调用它将是完全交互的,因为异步操作将由后台线程处理.因此,异步操作适用于交互式解决方案,或者您需要并行执行多个操作.

例如,从MSDN中查看此如何文章.

为了完整性,我描述了同步和异步调用之间的区别=客户端上的同步和异步处理.WCF还支持同步和异步操作=服务器上的同步和异步处理.