0

現在実行中のWCFサービスのWebアドレスをC#のコードで取得するにはどうすればよいですか?たとえば、関数内のWebサービス呼び出し中に、「this」と現在実行中/実行中のサービスのベースアドレスを探しています。このサービスは「http:// localhost:2342342 / WebServiceName1.svc」のように実行され、実行時にサービス内のコードでこのアドレスを取得したいと思います。ハードコードされたアドレスの代わりに自動アドレスを取得する理由は、サービスを本番環境に移行したり、サービスを移動したりするときに、動的アドレスが必要なためです。サービスの初期化中にこのサービスアドレスを使用して追加の値を設定したい。

別の点として、WCFに関連付けられた一意のIDとGUIDがすでに組み込まれていますか?たとえば、Webアドレスを持つ2つの別々のサーバーで同じサービスを実行している場合、個々のサービスごとに一意のIDを取得して設定する方法はありますか? 。唯一の方法は、サービスのアドレスを経由することですか?同じサービス、複数のサーバー、および個々のサービスごとの異なるデータ処理。

4

1 に答える 1

3

WCF サービス内の WCF の現在のアドレスを知るには、次を使用します。

Uri address = OperationContext.Current.IncomingMessageHeaders.To;
于 2012-04-23T00:29:03.177 に答える