構成チャネル ファクトリ

ConfigurationChannelFactory のサンプルでは、ConfigurationChannelFactory<TChannel> の使用方法を示します。 ConfigurationChannelFactory<TChannel> を使用すると、WCF クライアントの構成を一元的に管理できます。 これは、アプリケーション ドメインによる読み込みの後に構成が選択または変更される場合にも役立ちます。

対象

ConfigurationChannelFactory<TChannel>

ディスカッション

このサンプルでは、既定のアプリケーション構成ファイルを使用することなく、ConfigurationChannelFactory<TChannel> を使用して、クライアント アプリケーションに特定の構成ファイルを追加する方法を示します。

このサンプルは、2 つのプロジェクトで構成されます。 最初のプロジェクトは、クライアントから送信されるメッセージに応答するために実行される単純なサービスです。 2 番目のプロジェクトは、Test.config 構成ファイルの ConfigurationChannelFactory<TChannel> を使用して、2 つの ExeConfigurationFileMap オブジェクトを作成し、サービスとの通信にそれらのオブジェクトを使用するクライアント アプリケーションです。 どちらのクライアントも Test.config で指定された構成を使用してサービスと通信します。

次のコードでは、カスタム構成ファイルをクライアント アプリケーションに追加します。

ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = "Test.config";
Configuration newConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

ConfigurationChannelFactory<ICalculatorChannel> factory1 = new ConfigurationChannelFactory<ICalculatorChannel>("endpoint1", newConfiguration, new EndpointAddress("http://localhost:8000/servicemodelsamples/service"));
ICalculatorChannel client1 = factory1.CreateChannel();

サンプルをセットアップ、ビルド、および実行するには

  1. 管理者特権で Visual Studio を開きます。

  2. ConfigurationChannelFactory ソリューション (2 つのプロジェクト) を右クリックしてから、 [プロパティ] を選択します。

  3. [共通プロパティ] で、 [スタートアップ プロジェクト] を選択してから、 [マルチ スタートアップ プロジェクト] をクリックします。

  4. Service プロジェクトを一覧の先頭に移動し、 [アクション] を [開始] に設定します。次に、Client プロジェクトを Service プロジェクトの後ろに移動し、同様に [アクション] を [開始] に設定して、Client プロジェクトが Service プロジェクトの後に実行されるようにします。

  5. [OK] をクリックしてから F5 キー (または Ctrl+F5 キー) を押して、サンプルを実行します。