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。即使我使用了 used 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 回答