Архитектура SOA с картой структуры WCF + IOC

Я немного новичок в контейнерах 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)?


person Diego Correa    schedule 23.02.2010    source источник
comment
Конечно, я открыт для других подходов, просто сказал, что в любом случае я посмотрю глубже в том, что он сказал. У кого-нибудь есть еще предложения по этому вопросу?   -  person Diego Correa    schedule 24.02.2010


Ответы (1)


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

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

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

person Mark Seemann    schedule 23.02.2010
comment
Я посмотрю, все новости, о которых я опубликую. И спасибо за ответ, подписываюсь на вас прямо сейчас в твиттере =) - person Diego Correa; 24.02.2010
comment
Я только что закончил 11-страничное подробное руководство по этой теме для моей будущей книги. Надеюсь, он будет доступен через MEAP через месяц или два ... - person Mark Seemann; 26.02.2010