У меня есть требование, когда мне нужно позвонить в мою службу из моего поля зрения. У службы, которую мне нужно вызвать, есть зависимости от моих репозиториев.
Так что вместо того, чтобы делать как -
IUserService _userService = new UserService (new UserRepository ());
Я хотел бы получить объект _userService из Windsor, поскольку он уже разрешил все зависимости.
Как мне этого добиться?
Вид, где мне нужно вызвать IUserService, - _layout.cshtml внутри Общей папки. Нет конкретного контроллера для этого. Так откуда же мне вводить зависимость?
Функциональность, которая мне нужна в представлении, заключается в проверке доступа на основе ролей, который я реализовал через UserService. У меня есть 2 варианта -
1. Либо использовать COntext.User.IsInRole внутри моего представления (которое не является тестируемым фрагментом кода).
2. Или вызвать мой UserService из представления (что подтверждается тестами).
Мне пришлось выбрать меньшее из двух зол, поэтому я выбрал второй вариант.
Любые материалы будут высоко оценены.