Архитектура SOA с структурой WCF + IOC - PullRequest
5 голосов
/ 23 февраля 2010

Я немного новичок в DI-контейнерах, таких как StructureMap, и уже некоторое время использую его в приложениях asp.net mvc. Теперь я делю свою архитектуру, которая будет иметь сервисный слой WCF и своего рода потребителей, таких как приложение ASP.NET MVC, приложение Silverlight и приложение Winfors / WPF. При использовании SM с asp.net mvc я инициализировал IOC при запуске приложения asp.net mvc, теперь, используя для многих проектов, я не могу придумать хорошее место, где должна быть конфигурация IOC. Я тоже хочу сделать DI на уровне сервисов (впрыскивать репозитории).

В этом сценарии, где я загружаю свою конфигурацию IOC и как я буду использовать ее в разных проектах (например, фабрика контроллеров необходима только в приложении asp.net mvc)?

1 Ответ

2 голосов
/ 23 февраля 2010

Вы создаете и настраиваете контейнер для приложения .

Если у вас есть сайт ASP.NET MVC, вы создаете и настраиваете экземпляр контейнера в Global.asax.

В службе WCF вы можете написать пользовательский ServiceHostFactory, который раскручивает пользовательский ServiceHost, который снова присоединяет соответствующий IInstanceProvider, который использует экземпляр контейнера для подключения службы WCF. Это звучит сложно, и это определенно сложнее, чем должно быть. Ранее я затрагивал эту тему в совершенно ином контексте, но этот блог должен дать вам несколько советов, особенно если учесть, что делегаты являются анонимными интерфейсами .

...