1

クライアントがサーバーにアクセスするために使用した URL を見つけようとしています (サーバー側で)。私は次のことを試しました:

Uri url = OperationContext.Current.Channel.RemoteAddress.Uri;
Uri url = OperationContext.Current.Channel.Local.Uri;
Uri url = OperationContext.Current.EndpointDispatcher.EndpointAddress.Uri;

しかし、これらのどれも正しく機能していないようでした。それらはすべてサーバー名を返します(myserver.mydomain.localなどの完全修飾ドメインを使用します。使用したmyserver/myservice.svcを使用しても、完全な名前が取得されます。

この時点では、マシン名があるかどうかを確認するために mywebsite.com/myservice.svc にアクセスしてテストできるサービスとドメインがありません。

私が取得したい結果(サーバーから):

http://mywebsite.com/myservice.svc

それよりも

http://myserver.mydomain.local/myservice.svc

これは、現時点で起こっているようです。

4

2 に答える 2

0

OperationContext.Current.IncomingMessageHeaders.To

クライアントがサーバーへの接続に使用した Uri を指定する必要があります。

于 2012-12-02T17:27:08.520 に答える
0

にアクセスできる場合は、HttpContextを使用できますHttpContext.Current.Request.Url.ToString()

于 2012-12-02T07:59:00.057 に答える