我在同一服务主机下托管多个端点,这些端点实现相同的服务合同。我需要根据端点名称启动不同的业务层,所以有没有办法在我的服务实现构造函数中获取端点名称?基本上,作为一项服务,我需要知道我开始使用哪个端点。
答案 0 :(得分:3)
您可以在服务代码中查看OperationContext.Current;
- 其中包含EndpointDispatcher
:
OperationContext ctx = OperationContext.Current;
EndpointDispatcher epd = ctx.EndpointDispatcher;
该端点调度程序具有许多属性,例如ContractName,ContractNamespace,EndpointAddress等等。
查看OperationContext和EndpointDispatcher的相关MSDN文档,了解他们为您提供的详细属性列表。