我有幾個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