Лучшая практика - делиться UnityContainer между уровнями в Asp.net MVC? - PullRequest
0 голосов
/ 24 июня 2009

У меня есть UnityContainer, который получает информацию о конфигурации во время выполнения в файле global.asax веб-приложения MVC.

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

Как мне лучше всего поделиться двумя? Я не хочу иметь ссылку между моей сборкой данных и MVC, но я хочу, чтобы сборка данных имела доступ к UnityContainer, настроенному веб-приложением.

Мне интересно, что другие делают в этой ситуации.

Ответы [ 2 ]

1 голос
/ 24 июня 2009

Я только что зарегистрировал контейнер в себе, а затем разрешил каскадным зависимостям на всех ссылочных уровнях.

е

// настроить контейнер

бла вздор л

// зарегистрироваться

Container.RegisterInstance (контейнер);

Тогда каждый, кому это нужно, просто имеет его как зависимое свойство или параметр конструктора.

0 голосов
/ 24 июня 2009

Я использую StructureMap (аналогичный инструмент) и обычно делюсь своей конфигурацией между проектами в решении. Это означает, что они не используют непосредственно один и тот же объект, если они не работают в одном контексте. В простом приложении, где веб-сайт загружает сборку для выполнения работы с контроллера на бизнес-уровень и затем в dal ... они действительно используют один и тот же объект. Но как только вам нужно поместить ваш уровень в физически отдельные уровни (аппаратные средства), тогда конфигурация может пойти с ним. Это становится проблемой развертывания в то время.

...