2

サービスがあり、それと通信する必要があるため、WCF の調査を開始しました。サービスをリッスンするようにセットアップし、クライアントを作成しました。すべての通信は正常に機能しています。

複数のお客様にご利用いただくサービスです。彼らにクライアントをセットアップして WCF の学習曲線をたどってもらう代わりに、クライアントをラップしてすべての WCF 実装を非表示にすることにしました。これを機能させるには、エンドポイント情報を含むサービス モデルを app.config ファイルに含める必要があることがわかりました。

サービス モデル情報を完全に非表示にする方法はありますか? 単に私のdllを参照して呼び出しを開始することをお勧めします。私のクライアント以外のライブラリがエンドポイント情報を知る必要はないようです。

ありがとう

4

2 に答える 2

3

この SO 質問への回答に示されている例のように、構成ではなくプログラムでエンドポイントを作成できます: How do I add WCF client endpoints programmatically?

于 2012-09-15T15:20:25.190 に答える
2

Web 構成内に wcf クライアント設定を入れたくない場合は、コードを使用して設定を作成する必要があります。web.config を使用せずに (この場合は BasicHttpBinding を使用して) wcf クライアントにインスタンスを作成する方法のサンプル コードを次に示します。

    BasicHttpBinding binding = new BasicHttpBinding(); 
    EndpointAddress address = new EndpointAddress("http://someServer/DemoWcfService");         
    TestServiceClient client = new TestServiceClient(binding, address) 

ただし、再構成が簡単なため、web.config wcf クライアント構成をそのまま使用することをお勧めします。

于 2012-09-15T15:22:56.270 に答える