1. ホーム
  2. c#

プログラムからクライアントをWCFサービスに接続するには?

2023-09-05 17:02:23

質問

アプリケーション (クライアント) を公開された WCF サービスに接続しようとしていますが、アプリケーションの設定ファイルではなく、コードで接続しようとしています。

これを行うにはどうしたらよいでしょうか。

どのように解決するのですか?

を使用する必要があります。 ChannelFactory クラスを使用します。

以下はその例です。

var myBinding = new BasicHttpBinding();
var myEndpoint = new EndpointAddress("http://localhost/myservice");
using (var myChannelFactory = new ChannelFactory<IMyService>(myBinding, myEndpoint))
{
    IMyService client = null;

    try
    {
        client = myChannelFactory.CreateChannel();
        client.MyServiceOperation();
        ((ICommunicationObject)client).Close();
        myChannelFactory.Close();
    }
    catch
    {
        (client as ICommunicationObject)?.Abort();
    }
}

関連資料です。