具有异步/等待的WCF中的异步编程模型 - 序列化时的运行时错误

时间:2011-04-08 06:03:51

标签: wcf asynchronous

我根据这个帖子开发了我的代码: 的 Asynchronous Programming Model in WCF with async/await

没有编译错误,但托管时会生成以下指定的错误:

类型'System.Threading.Tasks.Task`1 [System.String]'无法序列化。 Consid 用DataContractAttribute属性标记它,并标记它的所有m 要使用DataMemberAttribute属性序列化的余烬。如果是这种类型 是一个集合,考虑使用CollectionDataContractAttribute标记它。 有关其他受支持的类型,请参阅Microsoft .NET Framework文档。

这可能是什么原因。

1 个答案:

答案 0 :(得分:1)

看起来你的一个方法要么返回一个Task对象,要么将一个Task对象作为其参数之一。

任务无法通过Web服务边界传递 - 这是导致问题的原因。

更新:我看了一下你从这个代码获得的链接,看起来提供的代码只是概念性的。如果仔细观察措辞,他会说'会'而不是'可以'。

  

WCF vNext 将采用Async模型   在客户端和服务器中   方,并提供新的任务型   一些最常用的重载   异步API。

由于无法通过Web服务边界传递任务,因此无法正常工作。