1

私はWCFサービス(WCFService1としましょう)を2台のリモートマシンにデプロイしています。同じサービスが 2 つの異なるマシンにデプロイされているため、共通のインターフェイスと共通のメソッドが公開されています。

WCFService1 は Machine1 と Machine2 にデプロイされます。

クライアント マシンから WCF サービスを利用するために、クライアント アプリを作成しました。

  1. URL http://11.12.25.23/WCFService/Service1.svcを使用して、WCF サービス (WCFService1) の設計時の参照を追加しました。

  2. これで、サービスで公開されているメソッドを呼び出すことができます。今までは大丈夫...

今私の質問は、別のマシンでホストされている同じサービスを別の URL ( http://12.12.24.24/WCFService/Service1.svcとしましょう) で実行時にクライアントを更新する必要がある場合、どうすればそれを行うことができますか?

現在、私はこれをやっています:

BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://12.12.24.24/WCFService/Service1.svc");
MyServiceClient serviceClient = new MyServiceClient(binding, address);

しかし、サービスで公開されているメソッドを呼び出すために使用するたびに、バインディングの不一致エラーが発生しました。

4

3 に答える 3

1

最初にクライアントを呼び出してみましたか?

例えば:

MyWCFClient client = new MyWCFClient();
client.EndPoint.Address = new EndpointAddress("http://somewhere:888/here.svc");
于 2009-07-30T05:53:06.360 に答える
0

Machine1 の web.config ファイルを見ると、バインディングが WSHttpBinding (または BasicHttpBinding とは異なるもの) であることがわかると思います。これを BasicHttpBinding に変更すると (それが本当に必要な場合)、このエラーは削除されます。

于 2009-07-30T05:52:28.403 に答える
0

サービスはどのように構成されていますか? サーバー側とクライアント側の設定を見せてください!

バインディングの不一致は、同じバインディングを使用していないか、バインディングの重要なパラメーターが異なっていることを意味します。

マルク

于 2009-07-30T06:01:59.400 に答える