我的WCF服务中很少有方法需要花时间 - 生成报告和发送电子邮件。
根据当前要求,要求客户端应用程序只提交请求,然后不等待整个过程完成。它将允许用户继续在客户端应用程序中执行其他操作,而不是等待整个过程完成。
我怀疑将走哪条路:
AsyncPattern = true OR
IsOneWay=true
请指导。
答案 0 :(得分:3)
它可以是两者。
一般来说,除了开发人员懒惰之外,我认为没有理由让不的WCF操作异步。
你不应该比较它们,因为它们不具有可比性。
简而言之,无论您是否返回值,AsyncPattern = True都会执行异步调用。
OneWay仅适用于void方法,并锁定您的线程,等待接收方确认收到消息。
答案 1 :(得分:0)
我知道这是一篇旧帖子,但在你的场景中IMO你应该使用IsOneWay,因为你不关心服务器结果是什么。根据您是否需要最终通知客户端(例如,服务器作业完成或失败),您可能还需要查看更改接口以使用SessionMode = required,然后使用双工绑定。
即使你确实想要使用异步双向通信,因为你的客户端DID关心结果,也有不同的概念: