0

在我的服务中,我有所有异步方法,以及我如何使用 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,当我使用相同的方式时,我收到一个错误,说参数数量或类型不正确。在这种情况下,我有相同的 Begin/end 方法,messageContract 作为参数,null 作为状态。

我已经检查了服务的合同和实施,我没有发现任何错误,并且服务编译正确。

谢谢。

4

1 回答 1

2

我建议您在客户端使用TaskWsdlImportExtensionto create -based 异步 WCF 代理。TaskVS2012 默认会这样做,但是你必须在 VS2010+AsyncCTP上自己设置。

于 2012-07-04T19:09:02.167 回答