Я ввожу httpcontext с помощью ninject, как это
private void RegisterDependencyResolver()
{
HttpContextBase context = new HttpContextWrapper(HttpContext.Current);
var kernel = new StandardKernel();
kernel.Bind<ISession>().To<SessionService>()
.InRequestScope()
.WithConstructorArgument("context", ninjectContext => context);
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
}
RegisterDependencyResolver () вызывается в методе application_start.
Этот интерфейс внедряется в конструктор класса, который обрабатывает сеанс.
Проблема в том, что сессия никогда не инициализируется, поэтому я не могу ничего добавить к ней.
Любой код, такой как context.session ["кое-что"] = "кое-что", вызывает исключение нулевой ссылки.
Application_Start слишком рано в жизненном цикле? Я думал .InRequestScope () исправляет это, но у меня это не работает.