获取WCF呼叫的URL

时间:2010-10-29 06:06:26

标签: web-services wcf

我需要找出基于SOAP的客户端从中调用WCF方法的子域。如果你使用HttpContext.Current在ASP.NET上很容易,那么我找不到WCF的等价物。

我之所以需要这个值,是因为我想托管一个多租户应用程序,它包含一个Web-Frontend(比如“foo.myservice.com”),并且还提供了一个基于SOAP的API(比如“ foo.myservice.com/Services/ClientService.svc“)。

有什么想法吗? 谢谢你!

1 个答案:

答案 0 :(得分:6)

假设您使用的是基于HTTP的绑定,您可以启用ASP.NET兼容性来访问HttpContext或使用OperationContext来收集所需的数据。

OperationContext.Current.RequestContext.RequestMessage.Headers.To应该适用于您的情况并返回请求的Uri。