我一直在试图弄清楚如何使用System.Threading.Tasks来异步调用同步WCF方法,同时支持取消,错误处理,结果返回和多个连续。
我遇到过一些不完整的演示,但它们似乎都有点短暂。作为一个例子,我不能使用合作取消,因为我的所有WCF方法都是原子的并且寿命相对较长。
答案 0 :(得分:1)
我会考虑另一种选择 - 使用异步方法生成WCF客户端接口。这将允许您异步地(从客户端应用程序的角度)进行所有WCF服务调用,这将允许您支持取消,错误处理,结果返回等。
好处是你不会阻塞工作线程池上的线程(比如System.Threading.Tasks会),你不必担心试图找出如何取消同步WCF调用在你的工作线程中。
您是否有必要进行同步WCF调用?
答案 1 :(得分:1)
如果你解释了你的做法,它可能会有所帮助。
但是你似乎在说你想要一个同步调用的异步版本,这不是任务的内容。
基于任务的处理是关于使异步调用看起来像同步调用。不像它只是代码看起来像它的工作方式。