如何从 Web 服务方法代码中获取 WS URL

本文关键字:获取 WS URL 代码 方法 Web 服务 | 更新日期: 2023-09-27 18:35:05

我从另一个团队继承了在.net框架3.5上开发的WCF Web服务。安装在沙盒上时,WS URL 如下所示:

URL: https://<<em>EnvironmentName>/fr/webservices/<<em>someWebServiceName>.svc

我被要求在 WS 执行期间从 Web 服务方法代码中获取该 URL(运行时)。你有什么想法吗?

我倾向于认为应该有一个可以轻松用于获取 URL 的环境变量。任何贡献将不胜感激。

谢谢!

如何从 Web 服务方法代码中获取 WS 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();

谢谢大家!