我根据这个帖子开发了我的代码: 的 Asynchronous Programming Model in WCF with async/await
没有编译错误,但托管时会生成以下指定的错误:
类型'System.Threading.Tasks.Task`1 [System.String]'无法序列化。 Consid 用DataContractAttribute属性标记它,并标记它的所有m 要使用DataMemberAttribute属性序列化的余烬。如果是这种类型 是一个集合,考虑使用CollectionDataContractAttribute标记它。 有关其他受支持的类型,请参阅Microsoft .NET Framework文档。
这可能是什么原因。
答案 0 :(得分:1)
看起来你的一个方法要么返回一个Task对象,要么将一个Task对象作为其参数之一。
任务无法通过Web服务边界传递 - 这是导致问题的原因。
更新:我看了一下你从这个代码获得的链接,看起来提供的代码只是概念性的。如果仔细观察措辞,他会说'会'而不是'可以'。
WCF vNext 将采用Async模型 在客户端和服务器中 方,并提供新的任务型 一些最常用的重载 异步API。
由于无法通过Web服务边界传递任务,因此无法正常工作。