Эта проблема, похоже, связана с этой записью, но я не смог вывести решение из цепочки.
Я заметил этот код в приложении, которое я унаследовал (после того, как заметил вфайл журнала, в котором использовалось исключение):
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 создает исключение нулевой ссылки?Это исключительный случай, или я делаю что-то по своей сути неправильно в моей программе?Затем, что я должен проверить, чтобы исключить это исключение перед его выбросом?
15: 51: 57,288 [13] ОШИБКА ASP.global_asax - System.NullReferenceException: ссылка на объект не установлена вэкземпляр объекта.в System.Web.Security.FormsAuthentication.SignOut () в MvcApplication.Session_End
Спасибо