この問題はこの投稿に関連しているようですが、スレッドから解決策を推測することはできませんでした。
継承したアプリケーションでこのコードに気づきました(ログファイルで例外が発生していることに気付いた後):
protected void Session_End(object sender, EventArgs e)
{
try
{
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
//if (this.Context.Handler is IRequiresSessionState || this.Context.Handler is IReadOnlySessionState)
//{
// FormsAuthentication.SignOut();
// FormsAuthentication.RedirectToLoginPage();
//}
}
catch (Exception ex)
{
this.GetType().GetLogger().Error(ex);
}
}
私はいくつかのことを疑問に思っています。まず、SignOutはどのようにnull参照例外をスローしますか?それは例外的なケースですか、それともプログラムで本質的に間違ったことをしていますか?次に、この例外がスローされる前に、この例外を回避するために何をテストする必要がありますか?
15:51:57,288 [13]エラーASP.global_asax-System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。System.Web.Security.FormsAuthentication.SignOut()のMvcApplication.Session_End
ありがとう