У меня есть клиент-серверное приложение, которое общается с помощью WCF. Чтобы добавить некоторую пользовательскую информацию о сеансе в каждый заголовок сообщения WCF, я обернул клиентский канал WCF в класс «ClientChannelProxy» и использовал расширение перехвата Unity для добавления моей пользовательской информации заголовка с использованием аспектов.
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 ? -->
Было бы неплохо, если бы кто-нибудь помог мне заставить его работать.
Спасибо!