2012-04-22 6 views
0

現在実行中のWCFサービスのWebアドレスをC#のコードで取得するにはどうすればよいですか?たとえば、関数内のWebサービスコール中に、 "this"と現在実行中の/実行中のサービスのベースアドレスを探しています。このサービスは "http:// localhost:2342342/WebServiceName1.svc"のように実行され、実行時にコード内のサービス内でこのアドレスを取得したいとします。私がハードコードされたアドレスの代わりに自動アドレスを取得するのは、サービスをプロダクションまたはサービスに移すときに、私は動的アドレスを持ちたいからです。サービスの初期化中にこのサービスアドレスを使用して余分な値を設定したいと思います。実行時のWCFベースWebアドレス

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

+0

はい、サービスのアドレスを。 「この」サービス。理想的には "This.Service.ServiceAddress.ToString()"のように。また、どのように私は "proxyClient"を取得するのですか?それは静的なクラスですか? – iefpw

+0

サーバー側。実行時にサービス内で呼び出します。 – iefpw

答えて

3

は、次のようにします。

Uri address = OperationContext.Current.IncomingMessageHeaders.To; 
関連する問題