cor*_*erm 6 wcf .net-4.0 async-await visual-studio-2012
在Visual Studio 2012中,有一个方便的"生成基于任务的操作"选项,您可以使用该选项生成Task和生成Task<T>WCF服务调用.
我正在使用Microsoft.Bcl.Async NuGet包来利用我的.NET 4.0项目中的async/await.但是,我似乎无法使用VS 2012中的配置服务引用向导生成基于任务的操作(该选项已禁用).
据我所知,这只适用于项目的目标是.NET 4.5.有谁知道用.NET 4.0客户端生成基于任务的操作的方法?
您可以使用此解决方法在 .Net 4.0 中创建基于异步任务的 wcf 客户端
总之,您必须在 .Net 4.5 中生成服务引用并将其复制到您的 .Net 4.0 项目中。必须将“Microsoft.Bcl.Async”包添加到您的.Net 4.0 项目中。
编辑
我发现此解决方法仅在计算机上安装了 .Net Framework 4.5 时才有效。如果您在安装了.Net Framework 4.0的计算机上运行该程序,则该程序无法运行(.Net Framework 4.5不支持Windows XP,因此这是测试该程序的良好环境)。未安装.Net Framework 4.0时抛出此异常:
无法序列化类型“System.Threading.Tasks.Task`1[System.Boolean]”。请考虑使用 DataContractAttribute 属性标记它,并使用 DataMemberAttribute 属性标记要序列化的所有成员。如果类型是集合,请考虑使用 CollectionDataContractAttribute 对其进行标记。有关其他支持的类型,请参阅 Microsoft .NET Framework 文档。
总结起来,这不是一个好的解决方法。
| 归档时间: |
|
| 查看次数: |
1586 次 |
| 最近记录: |