У меня возникла небольшая проблема с выяснением того, как настроить контейнер Unity IoC в моем n-уровневом приложении ASP .net MVC.
В моем решении 3 проекта:
1. MVC (используется как представление): имеет отношение только к уровню бизнес-логики
2. Уровень бизнес-логики: имеет ссылку только на проект репозитория
3. Репозиторий: не имеет ссылки ни на один из вышеперечисленных проектов
Пожалуйста, обратите внимание на то, как работает моя справочная система, я сделал это так, чтобы я мог с меньшими трудностями заменить связь между своими уровнями, используя WCF.
Я настроил контейнер Unity в своем приложении MVC, выполняя что-то вроде этого (Global.asax):
container.RegisterType (); // MyService находится на моем уровне бизнес-логики
Класс MyService использует мой репозиторий в своем конструкторе, что означает, что при создании одного из этих классов MyService также требуется MyRepository:
общедоступный MyService (репозиторий IRepository): база (репозиторий)
{}
Как видите, я еще не настроил IRepository в своем контейнере.
Я не хочу делать это в моем Global.asax, потому что я не хочу добавлять какие-либо ссылки на репозиторий на уровень MVC (просмотр).
Где лучше всего это настроить? Я немного запутался здесь ...
Заранее спасибо.