#asp.net #asp.net-mvc #asp.net-core
Вопрос:
Использование @inject IFooService FooService
на любой главной странице макета работает нормально. Однако, если у меня есть вложенный файл макета, эти службы больше не могут быть найдены. HttpContext
возвращается DefaultHttpContext
значение .cshtml, и значение. cshtml 'Context'
равно нулю на верхней странице макета.
Это работает:
-
Main Layout (services can be injected here)
-
* Some content page.
Это не работает:
-
Main Layout (services CANNOT be found here any longer)
-
Sub Layout (services CAN be found here now)
-
Some content page
Комментарии:
1. Можете ли вы показать нам структуру вашего cshtml о странице макета? И если вы покажете нам свой образец кода для тестирования (без какой-либо конфиденциальной информации), возможно, мы сможем помочь вам лучше.
2. У меня есть некоторые забавные вещи с асинхронностью, которые убивают HttpContext. Я собираюсь убрать это и посмотреть, существует ли еще проблема. Скоро будет обновлено.
3. Подтверждено — асинхронность частично испортила его и отбрасывала HttpContext.