异步/等待PCL中的WCF客户端

我正在使用的项目是在服务器端使用WCF服务(代码位于同一项目中)。 我想通过编写一个使用该服务的PCL来扩展它,并希望使用Async / Await模式实现调用。

由于PCL从一开始就不支持Async / Await,我通过Nuget将BCL.Async包添加到项目中。 但是,无论何时我尝试生成代理,基于任务的异步客户端都无法选择即生成。 通过ChannelFactory手动添加代理在PCL中似乎也不可能。

我目前的做法是生成代理复制ref类,然后使用TPL提供的Task包装器自行编写async / await模式。 但有没有更简单的方法? 如何直接使用异步/等待模式手动编写包装器,而不会生成具有相同效果的多个异步模式?


最后,我生成代理并手动将生成的APM模型与TaskFactory打包,以在PCL中的客户端中生成异步/等待模式。 我在这篇博文中写下了它。

编辑:更新断开的链接。


您是否尝试过使用/ async参数与svcUtil.exe工具?

在这里查看更多ServiceModel元数据实用工具(Svcutil.exe)

链接地址: http://www.djcxy.com/p/19163.html

上一篇: Async/Await WCF client in a PCL

下一篇: Durandal and Zurb foundation, where should I initialize foundation?