2011-11-22 95 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

回答