Кому-нибудь когда-нибудь удавалось реализовать MSMQ поверх WCF с использованием контейнера Unity?
Мой сервер запускается, создает частную очередь и выставляет файл mex. Мой клиент может разрешить ссылку на службу, подключиться и успешно записать сообщения в очередь. Однако сервер никогда не принимает сообщения и оставляет их неиспользованными в очереди.
Чтобы сузить источники ошибок, я реализовал пример приложения MSMQ из MSDN tutorial с использованием стандартного ServiceHost
:
using (ServiceHost serviceHost = new ServiceHost(typeof(OrderProcessorService)))
{
//...
}
и сообщения принимаются и успешно потребляются.
Но как только я использую UnityServiceHost
от Unity.Wcf
:
var container = new UnityContainer();
using (ServiceHost serviceHost = new UnityServiceHost(container, typeof(OrderProcessorService)))
{
//...
}
служба не потребляет никаких сообщений, которые, в свою очередь, накапливаются в очереди.
Я просмотрел официальную документацию Unity (которая доступна только в виде бесплатной электронной версии). book) и безуспешно гуглил любую дополнительную информацию.
Я могу только предположить, что либо UnityServiceHost
не может обрабатывать MSMQ, либо мне нужно применить специальную конфигурацию для моего UnityContainer
.
Кому-нибудь удалось заставить это работать? Любые предложения или подсказки?