Куда мне поместить вызов конструктора для моего нового движка представления?
Я создал свой собственный RazorViewEngine и добавляю следующее в вызов startup.configureservices.
services.AddSingleton<IRazorViewEngine, RoleBasedRazorViewEngine>();
services.AddMvc();
Мой новый viewengine вызывается, как и ожидалось, но я хочу добавить значения в конструктор для некоторого элемента управления представлением "RoleBase". Логика находит представление на основе предоставленной роли или, если не найдено, переходит к представлению по умолчанию.
Где вызывается конструктор, чтобы я мог предоставить ему список ролей для использования при поиске.
Альтернативный метод также приемлем.
1 ответ
Я нашел ответ через другие поиски и выяснил это. Функции Startup.cs аналогичны внедрению зависимостей в единство, где они размещают версии интерфейса по умолчанию. Например, если у вас есть интерфейс IDataManager, который по умолчанию вы хотите использовать MyDataManager в качестве класса, реализующего интерфейс, вы можете сделать следующее:
services.AddTransient<IDataManager, MyDataManager>();
Просто так же, как это делало единство. Иногда мне нужно, чтобы это было более четко изложено. Я все еще исследую другие сервисы. Добавляйте ***** методы, но переходный процесс, кажется, является ловушкой для вещей, специально не прописанных с другими сервисами. Добавляйте методы.