1

アプリケーションが「ファイルが存在しません」をスローすると、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をスローし、セッションデータにもアクセスできる必要があります。

4

1 に答える 1

1

同様の質問がここで
尋ねられました 。通常、Css およびイメージ リクエストはセッションにアクセスする必要はありません。そのため、asp はセッションをメモリにロードせず、エラー時にアクセスできません。

于 2012-04-27T13:04:47.133 に答える