2016-12-22 3 views
-1

今は、すべてのデータ処理を行う別のマシンのWCF Windowsサービスに接続されている1台のマシンにWCF Webサービスがあります。 WebサービスはWindowsサービスを直接参照し、すべての設定情報はwebファイルとapp.configファイルで設定されます。Webサービスで別のWCFエンドポイントにプログラムで接続できますか?

これをスケーラブルにするために、Webサービスが別のマシン上の複数のWCFウィンドウサービスに接続できるようにします。たとえば、クライアント1〜3はすべてのデータ処理を1つのWindowsサービス/マシンで処理し、クライアント4〜6は別のWindowsサービス/マシンで処理します。

私はこれをこのように実装しようと考えています。 WCFエンドポイントをclientIDに格納するSQLデータベースを持ち、WebサービスはclientIDを受け取り、その代わりにWCFエンドポイントを取得し、WebサービスはそのWCFエンドポイントを持つ特定のWindowsサービスに接続します。

これは実行可能ですか、これを処理するより良い方法はありますか?私は多くのWCF経験を持っていないので、私はここで間違っている可能性があります。

ありがとうございました。

+0

これはなんとかです。クライアントの作成時にWebサービスのURL(エンドポイント)を指定できます。 – Tim

答えて

1

WCFは、管理クライアントの構成(構成ファイルによる)とプログラムによるクライアント構成の両方をサポートします。あなたは2番目のものが必要です。あなたが設定ファイルと同じ柔軟性を実現することができ

プログラム構成で
Binding wsBinding = new WSHttpBinding(); 
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:8000/SomeService"); 
SomeServiceClient proxy = new SomeServiceClient(wsBinding, endpointAddress); 

proxy.SomeMethod(); 

proxy.Close(); 

Bindingを通って、EndpointAddressクラス:ここ

は、プログラムの構成の一例です。さらにヘルプについて

は、以下を参照してください。

Binding Class

EndpointAddress Class

ClientBase Class

+0

回答ありがとうございましたこれらのリンクをチェックします – cjw

関連する問題