WCF 仅异步操作
Posted
技术标签:
【中文标题】WCF 仅异步操作【英文标题】:WCF Async only operation 【发布时间】:2018-04-01 09:46:44 【问题描述】:我有一个使用 WCF 服务的异步和同步方法的客户端。
我看不出有什么好的理由来保持同步通话。因为我可以使用 Task 在同步方法中调用异步方法。
当我调用我的服务时,最好不要阻塞 UI。
所以我目前正在尝试删除每个同步调用。 首先,它是 WCF 中的一个好习惯吗?如果不是为什么?
其次,我使用 svcutils 来生成我的文件。我有同步和异步调用。
项目很大,删除同步调用最简单的方法是只使用 svcutils 生成异步调用。 因此,如果出现编译错误,我将只能轻松保持异步。
但我在 svcutils 上找不到任何禁用同步方法生成的选项。
有什么办法吗?
【问题讨论】:
【参考方案1】:如果是 UI 应用程序,最好只使用异步方法,如您所说 - 在调用期间不要阻塞 UI。
关于 svcutil.exe,它不能只创建异步方法而忽略同步。 您可以使用 /async 参数,但它会将所有内容创建为异步,这对您不起作用。意思是,最好先手动删除同步方法。
【讨论】:
以上是关于WCF 仅异步操作的主要内容,如果未能解决你的问题,请参考以下文章