2011-11-22 89 views
5

我有一個使用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很好。 謝謝!

+0

你想在調用到達實際服務類之前添加一些處理程序嗎? – Kangkan

+0

Exaclty。在客戶端上,我向WCF消息頭添加一些主要信息。服務器應該讀取這個頭信息並構建一個自定義主體對象,然後調用實際的服務類。 – Alexander

+0

我已經添加了一個答案看這個。 – Kangkan

回答