私は.NET 3.5を使用しています。 これは関連する質問ですが、TPL Async ライブラリを使用しています。私は 3.5 を使用しているため、別のアプローチが必要です。
以前は、サービス参照を追加し、Visual Studio 2010 を使用してその非同期操作を作成することで、WCF を非同期的に呼び出していました。
CreateChannel<T>
クラスのを使用して動的プロキシを作成したChannelFactory
ので、メソッドを非同期で呼び出す必要があります。これは、WCF プロキシを作成する方法です。
public MyInterface Proxy { get; set; }
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress ep = new EndpointAddress("http://localhost/myEndpoint");
Proxy = ChannelFactory<MyInterface>.CreateChannel(binding, ep);
// I call my method
Proxy.MyMethod();
[ServiceContract]
public Interface MyInterface
{
[OperationContract]
void MyMethod();
}
サービスの応答は必要ありません。