我有几个WCF Web服务。它们都在相同的AppDomain中运行并共享各种程序集。从任何程序集中的任何方法,我如何确定调用它的Web服务类的特定实例? (即,不是调用它的直接方法,而是运行它的Web服务)
实际上我只需要Web服务类的类型,而不是特定的实例,但如果我有实例,我可以得到类型。我没有找到其他人问这个问题,所以要么我接近错了,要么我错过了一些基本的东西。
答案 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
提供服务名称。