我正在研究的项目是在服务器端使用WCF服务(代码在同一个项目中)。我想通过编写一个使用该服务的PCL并希望使用Async / Await模式实现调用来扩展它。
由于PCL从一开始就不支持Async / Await,我通过Nuget将BCL.Async包添加到项目中。但每当我尝试生成代理时,就无法选择基于任务的异步客户端,即生成。在PCL中似乎也无法通过ChannelFactory手动添加代理。
我目前的方法是生成代理复制ref类,然后使用TPL提供的Task包装器自己编写async / await模式。但是有更简单的方法吗?如何直接使用async / await模式手动编写包装器而不生成具有相同效果的多个异步模式?
答案 0 :(得分:3)
最后,我生成了代理,并使用TaskFactory手动包装生成的APM模型,以在PCL中的客户端中生成Async / Await模式。我在这个blog post中写下来了。
编辑:更新了断开的链接。
答案 1 :(得分:0)
您是否尝试过使用/ async参数和svcUtil.exe工具?