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を持っています。

sreviceのコントラクトと実装を確認しましたが、間違いはなく、サービスは正しくコンパイルされています。

ありがとう。

4

1 に答える 1

2

を使用して、クライアント側でベースの非同期WCFプロキシTaskWsdlImportExtensionを作成することをお勧めします。TaskVS2012はデフォルトでこれを行いますが、VS2010+AsyncCTPで自分で設定する必要があります。

于 2012-07-04T19:09:02.167 に答える