Unity - WCF服务类的拦截?

Ale*_*der 5 c# wcf aop unity-container

我有一个使用WCF进行通信的客户端和服务器应用程序.为了向每个WCF消息头添加一些自定义会话信息,我将客户端WCF通道包装到"ClientChannelProxy"类中,并使用Unity拦截扩展来使用方面添加我的自定义头信息.

IUnityContainer container = new UnityContainer();
container.AddNewExtension<Interception>();
container.RegisterType<IClientService, ClientServiceProxy>();
container.Configure<Interception>().SetInterceptorFor<IClientService>(new
TransparentProxyInterceptor());
Run Code Online (Sandbox Code Playgroud)

这适用于客户端,因为我可以使用上面显示的代码轻松配置统一容器和拦截.

但是如何在服务器端设置统一和拦截?我的WCF服务是在.SVC文件中配置的,我没有任何可能性来配置拦截并让我的方面执行.

<%@ ServiceHost Language="C#" Debug="true" Service="Test.ClientService" %>
<!-- How to configure Unity Interception for this WCF-Service ? -->
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我让它工作,那会很好吗.谢谢!

Kan*_*kan 2

您需要在服务器端创建一个检查器/拦截器。您可以参考这篇文章:WCF Parameter Validation with Interceptorhttp://msdn.microsoft.com/en-us/library/ms751495.aspx