我有一個使用WCF進行通信的客戶端&服務器應用程序。要爲每個WCF消息頭添加一些自定義會話信息,我將客戶端WCF通道包裝到「ClientChannelProxy」類中,並使用Unity截取擴展來使用方面添加我的自定義頭信息。統一 - 爲WCF服務類攔截?
IUnityContainer container = new UnityContainer();
container.AddNewExtension<Interception>();
container.RegisterType<IClientService, ClientServiceProxy>();
container.Configure<Interception>().SetInterceptorFor<IClientService>(new
TransparentProxyInterceptor());
也能正常工作的客戶端,因爲我可以使用上述所示的代碼伊斯利配置統一容器和攔截。
但如何在服務器端設置統一和攔截?我的WCF服務配置爲.SVC文件,我沒有任何可能配置攔截並執行我的方面。
<%@ ServiceHost Language="C#" Debug="true" Service="Test.ClientService" %>
<!-- How to configure Unity Interception for this WCF-Service ? -->
如果有人可以幫助我得到它的工作將ne很好。 謝謝!
你想在調用到達實際服務類之前添加一些處理程序嗎? – Kangkan
Exaclty。在客戶端上,我向WCF消息頭添加一些主要信息。服務器應該讀取這個頭信息並構建一個自定義主體對象,然後調用實際的服務類。 – Alexander
我已經添加了一個答案看這個。 – Kangkan