确定Web服务的实例

时间:2014-02-07 15:59:04

标签: c# .net wcf

我有几个WCF Web服务。它们都在相同的AppDomain中运行并共享各种程序集。从任何程序集中的任何方法,我如何确定调用它的Web服务类的特定实例? (即,不是调用它的直接方法,而是运行它的Web服务)

实际上我只需要Web服务类的类型,而不是特定的实例,但如果我有实例,我可以得到类型。我没有找到其他人问这个问题,所以要么我接近错了,要么我错过了一些基本的东西。

1 个答案:

答案 0 :(得分:0)

  

我有几个WCF Web服务。它们都在同一个AppDomain中运行   并分享各种集会。从任何装配中的任何方法怎么可能   我确定了Web服务类的特定实例   叫它吗?

OperationContext.Current.Host获取当前服务对象的System.ServiceModel.ServiceHost。所以OperationContext.Current.Host.Description.Name返回服务的名称。

在初始化Web服务时,覆盖ServiceHostFactory.CreateServiceHost可以设置一个委托(在整个代码库中调用),该委托将根据OperationContext.Current.Host.Description.Name提供服务名称。