wcf与task和messageContract异步,为什么参数不正确?

时间:2012-07-04 15:47:02

标签: wcf asynchronous

在我的服务中,我有所有方法异步,以及我如何使用C#4.0,O不能使用新的CTP,所以我已经实现了所有的Begin / end方法。

当我需要从客户端调用方法时,我使用以下方法:

Task<bool> myTask = Task<bool>.Factory.FromAsync(myProxy.BeginMethod1, miServicio.EndMethod1, CustomClass Parameters, null);
    result = await myTask;

至少,当CustomClass是DataContract时,这是有效的。

现在,我需要使用MessageDataContract,当我使用相同的方式时,我得到一个错误,指出参数的数量不正确或类型。在这种情况下,我有相同的,开始/结束方法,messageContract作为参数和null作为状态。

我检查了srevice的合同和实现,我没有看到任何错误,并且服务编译正确。

感谢。

1 个答案:

答案 0 :(得分:2)

我建议您使用TaskWsdlImportExtension在客户端创建基于Task的异步WCF代理。 VS2012默认执行此操作,但您在VS2010 + AsyncCTP上have to set it up yourself