类型'System.Threading.Tasks.Task`1 [System.String]'无法序列化

时间:2011-12-06 01:07:05

标签: wcf asynchronous

根据以下文章,我将服务合同定义为

http://blogs.msdn.com/b/endpoint/archive/2010/11/13/simplified-asynchronous-programming-model-in-wcf-with-async-await.aspx

[ServiceContract]
public interface IServiceContract
{
    [OperationContract]
    Task<string> HelloAsync(string name);
}

但是,当我尝试生成代理时,我收到消息类型'System.Threading.Tasks.Task`1 [System.String]'无法序列化。

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:3)

对基于任务的异步操作的支持仅在.NET Framework 4.5版中可用。除非您使用的是9月中旬提供的开发人员预览版,否则这将无效。

答案 1 :(得分:1)

这是一个很好的答案:http://mylifeandcode.blogspot.com/2012/12/the-cause-and-solution-for.html

似乎需要重新生成代理类 - 而不是“生成基于任务的操作”需要选择“生成异步操作”。