2

私は wcf サービスとクライアントを作成しました。wcf サービスとクライアントの両方が c# を使用して実装されています。私は、iis サービスと Windows サービスの両方でこの wcf サービスをホストしています。私はそれをホストしている間、web.config ファイルまたは設計時にベース アドレスを指定する必要があります。実行時にベースアドレスを指定することは可能ですか? 実行時にそれを提供する方法は?

このように、クライアント側でサービス参照アドレスを変更できます。c# でそれを行う方法?

4

1 に答える 1

4

自己ホスティングを使用している場合は、ServiceHostクラスのコンストラクターでベース アドレスを指定できます。

Uri baseAddress = new Uri("http://........");
ServiceHost host = new ServiceHost(typeof(YourServiceClass), baseAddress);

IIS を使用すると、少し複雑になります... サービス ホストを作成するためのカスタム ファクトリを提供できるかもしれませんが、それは大変な作業のように思えます。さらに、IIS では、*.svcファイルが存在する仮想ディレクトリによって実際にサービスの URL が決まります。そのため、ベース アドレスを指定してもあまり意味がありません。

于 2013-12-03T06:30:13.660 に答える