6
私はこのHttpcontext.SessionはApplication_Startメソッドで呼び出され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ようninject使用しているHttpContextを注入しています()で常にnullです。
このインターフェイスは、セッションを処理するクラスのコンストラクタに挿入されます。
セッションは決して初期化されないので、何も追加できません。
context.session ["something"] = "something"のようなコードは、null参照例外を発生させます。
Application_Startはライフサイクルで早すぎますか?私は.InRequestScope()がこれを修正したと思ったが、それは私にとってはうまくいかなかった。
をアプリケーションが起動するセッションがありません。 – Amy
https://github.com/ninject/ninject.web.mvc/blob/Maintenance_2.2/mvc3/src/Ninject.Web.Mvc/Bootstrapper.cs行:68および69 –