2
我在同一服務主機下託管多個端點,它們實現相同的服務合同。我需要根據端點名稱啓動不同的業務層,那麼有沒有辦法在我的服務實現構造函數中獲取端點名稱?基本上,作爲一項服務,我需要知道我是從哪個端點開始的。如何從服務實現中讀取服務端點名稱
我在同一服務主機下託管多個端點,它們實現相同的服務合同。我需要根據端點名稱啓動不同的業務層,那麼有沒有辦法在我的服務實現構造函數中獲取端點名稱?基本上,作爲一項服務,我需要知道我是從哪個端點開始的。如何從服務實現中讀取服務端點名稱
你可以在你的服務代碼檢查出OperationContext.Current;
- 它包含了除其他事物的EndpointDispatcher
:
OperationContext ctx = OperationContext.Current;
EndpointDispatcher epd = ctx.EndpointDispatcher;
,這個端點調度程序有很多,如ContractName,ContractNamespace,的EndpointAddress和其它更多的屬性。
請查閱OperationContext和EndpointDispatcher的相關MSDN文檔,以獲取它們提供的屬性的詳細列表。