2010-02-23 3 views
5

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

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

+0

Конечно, я открыт для других подходов, просто сказал, что в любом случае я посмотрю глубже в том, что он сказал. У кого-нибудь есть другое предложение по этому вопросу? –

ответ

2

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

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

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

+0

Я посмотрю на это, любые новости, о которых я расскажу. И спасибо за ответ, после вас в twitter прямо сейчас =) –

+0

Я только что закончил 11-страничное подробное пошаговое руководство об этом для моей будущей книги. Надеюсь, он будет доступен через MEAP через месяц или два ... –

Смежные вопросы