アプリケーションが「ファイルが存在しません」をスローすると、HttpContext.Current.Sessionオブジェクトはnullになります。Application_Errorイベントの例外。
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = HttpContext.Current.Server.GetLastError();
if (ex.Message == "File does not exist." && HttpContext.Current.Session == null)
{
if (((System.Web.HttpException)(ex)).GetHttpCode() == 404)
{
LogtheException(Session["uname"].ToString());// Throwing the Exception Here
}
}
else
{
LogtheException(Session["uname"].ToString());
Server.Transfer(UrlMaker.ToError(ex.Message.ToString()));
}
}
例外をスローする
Session state is not available in this context.
css / imageファイルのパスが正しくない場合に、HttpContext.Current.Sessionオブジェクトがnullになる理由。代わりに、FileNotFoundExceptionをスローし、セッションデータにもアクセスできる必要があります。