Андрей прав - это ноль, потому что при работе в рамках ASP.NET MVC HttpContext (и, следовательно, HttpContext.Session) не устанавливается, когда класс контроллера создается, как вы могли ожидать, но он устанавливает ( ") позже классом ControllerBuilder. Если вы хотите лучше понять жизненный цикл, вы можете либо свернуть каркас ASP.NET MVC (источник доступен), либо обратиться к: этой странице
Если вам нужен доступ к сеансу, то одним из способов будет переопределение метода «OnActionExecuting» и доступ к нему там, так как он будет доступен к тому времени.
Однако, как предполагает Андрей, если ваш код зависит от Session, тогда может быть сложно написать модульные тесты, поэтому, возможно, вы могли бы рассмотреть оборачивание Session в вспомогательный класс, который затем может быть заменен на другой , не веб-версия при работе в модульных тестах, поэтому отключение контроллера от сети.