我从另一个团队继承了在 .net 框架 3.5 上开发的 WCF Web 服务。安装在沙盒上时,WS URL 如下所示:
URL:https://< EnvironmentName >/fr/webservices/< someWebServiceName >.svc
我被要求在 WS 执行(运行时)期间从 Web 服务方法代码中获取该 URL。你有什么主意吗?
我倾向于认为应该有一个可以轻松用于获取 URL 的环境变量。任何贡献将不胜感激。
谢谢!
我从另一个团队继承了在 .net 框架 3.5 上开发的 WCF Web 服务。安装在沙盒上时,WS URL 如下所示:
URL:https://< EnvironmentName >/fr/webservices/< someWebServiceName >.svc
我被要求在 WS 执行(运行时)期间从 Web 服务方法代码中获取该 URL。你有什么主意吗?
我倾向于认为应该有一个可以轻松用于获取 URL 的环境变量。任何贡献将不胜感激。
谢谢!
OperationContext 可用并且应该提供您正在寻找的内容,特别是:
OperationContext.Current.EndpointDispatcher.EndpointAddress.Uri
var context = OperationContext.Current;
var requestedUrl = context.IncomingMessageHeaders.To.PathAndQuery;
[更新]:在@MichelZ 提供的帮助下,我已经能够解决我的问题。这是代码:
var context = OperationContext.Current;
string requestedUrl = context.EndpointDispatcher.EndpointAddress.Uri.ToString();
谢谢你们!