如何从服务实现内部读取服务端点名称

时间:2010-07-02 17:57:16

标签: .net wcf


我在同一服务主机下托管多个端点,这些端点实现相同的服务合同。我需要根据端点名称启动不同的业务层,所以有没有办法在我的服务实现构造函数中获取端点名称?基本上,作为一项服务,我需要知道我开始使用哪个端点。

1 个答案:

答案 0 :(得分:3)

您可以在服务代码中查看OperationContext.Current; - 其中包含EndpointDispatcher

 OperationContext ctx = OperationContext.Current;
 EndpointDispatcher epd = ctx.EndpointDispatcher;

该端点调度程序具有许多属性,例如ContractName,ContractNamespace,EndpointAddress等等。

查看OperationContextEndpointDispatcher的相关MSDN文档,了解他们为您提供的详细属性列表。