2
我在同一服务主机下托管多个端点,它们实现相同的服务合同。我需要根据端点名称启动不同的业务层,那么有没有办法在我的服务实现构造函数中获取端点名称?基本上,作为一项服务,我需要知道我是从哪个端点开始的。如何从服务实现中读取服务端点名称
我在同一服务主机下托管多个端点,它们实现相同的服务合同。我需要根据端点名称启动不同的业务层,那么有没有办法在我的服务实现构造函数中获取端点名称?基本上,作为一项服务,我需要知道我是从哪个端点开始的。如何从服务实现中读取服务端点名称
你可以在你的服务代码检查出OperationContext.Current;
- 它包含了除其他事物的EndpointDispatcher
:
OperationContext ctx = OperationContext.Current;
EndpointDispatcher epd = ctx.EndpointDispatcher;
,这个端点调度程序有很多,如ContractName,ContractNamespace,的EndpointAddress和其它更多的属性。
请查阅OperationContext和EndpointDispatcher的相关MSDN文档,以获取它们提供的属性的详细列表。