我有几个WCF Web服务。它们都在相同的AppDomain中运行并共享各种程序集。从任何程序集中的任何方法,我如何确定调用它的Web服务类的特定实例? (即,不是调用它的直接方法,而是运行它的Web服务)确定Web服务的实例
其实我只需要Web服务类的类型,而不是特定的实例,但如果我有实例,我可以获得类型。我还没有发现任何其他人提出这个问题,所以要么我接近它错误,要么我错过了一些基本的东西。
我有几个WCF Web服务。它们都在相同的AppDomain中运行并共享各种程序集。从任何程序集中的任何方法,我如何确定调用它的Web服务类的特定实例? (即,不是调用它的直接方法,而是运行它的Web服务)确定Web服务的实例
其实我只需要Web服务类的类型,而不是特定的实例,但如果我有实例,我可以获得类型。我还没有发现任何其他人提出这个问题,所以要么我接近它错误,要么我错过了一些基本的东西。
我有几个WCF Web服务。它们都在相同的AppDomain中运行,共享各种程序集。从任何程序集中的任何方法,我如何确定 调用它的web服务类的特定实例?
OperationContext.Current.Host
获取当前服务对象的System.ServiceModel.ServiceHost
。所以OperationContext.Current.Host.Description.Name
返回服务的名称。
在web服务的初始化,的ServiceHostFactory.CreateServiceHost
可以设置一个代表超控(待整个代码库调用),将根据OperationContext.Current.Host.Description.Name
提供的服务的名称。
我不知道我的答案是否帮助你,但这是新的c#版本中的功能 –
你看过OperationContext.Current吗? –
@IanGilroy还没有。看起来我可能能够使用OperationContext.Current.EndpointDispatcher.ContractName! – jltrem