MEF и MVC - несколько указателей, пожалуйста :) - PullRequest
2 голосов
/ 29 ноября 2010

Я пытаюсь внедрить компонент в мое приложение MVC и использовать его из контроллеров.

В настоящее время я не пытаюсь использовать MEF для реальных контроллеров, но я хочу импортировать компоненты, например. Компонент входа в приложение MVC.

Где лучшее место для этого?

В настоящее время я прямо в контроллере помещаю свой код составных частей и свойство ILogger, но мне кажется, что это не лучший способ. Похоже, мне нужно только один раз вызвать Compose в приложении. Так должно ли быть в глобальном файле asax, что я делаю сочинение? Если так, как я могу получить контроль над ILogger от моих контроллеров? Должен ли я иметь «базовый» контроллер, где я внедряю ILogger в конструктор и наследую каждый стандартный контроллер от?

Надеюсь, это имеет смысл - я просто немного борюсь со структурой своего кода.

Thx

1 Ответ

0 голосов
/ 29 ноября 2010

Я использую Log4Net и внедряю регистратор в каждый контроллер.Я не думаю, что это большой успех, когда вы используете инъекции.Посмотрите на Ninject.Он имеет как реализацию MVC, так и модуль регистрации.Модули загружаются один раз в глобал, затем в него вводятся контроллеры.Основной DI, но вам действительно нужно больше?Если вы создаете базовый контроллер, вам все равно придется создавать ctor в каждом контроллере, который можно вводить.

Вы можете создать базовый контроллер с ведением журнала, а затем использовать внедрение свойства.Я никогда не делал этого, но если все контроллеры используют одну и ту же базу, он должен работать нормально.

...