我想在global.asax里面的一个执行完页面代码的事件Application_EndRequest里面使用Session对象,但是得到的错误是“会话状态在此上下文中不可用。”
我有什么办法可以在<<执行页面代码>> 之后的事件里面使用Session。另外,哪位同志能够提供一下asp.net2.0 global.asax文件所包含的事件有哪些?并做一下简单的说明。(不要给我网上那个1.1的。)

解决方案 »

  1.   

    标准的global.asax中的有5个事件,如有以下: 
    void Application_Start(object sender, EventArgs e) 

            // 在应用程序启动时运行的代码 

    void Application_End(object sender, EventArgs e) 

            //  在应用程序关闭时运行的代码 

    void Application_Error(object sender, EventArgs e) 

            // 在出现未处理的错误时运行的代码 

    void Session_Start(object sender, EventArgs e) 

            // 在新会话启动时运行的代码 

    void Session_End(object sender, EventArgs e) 

            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
            // 或 SQLServer,则不会引发该事件。 
      

  2.   

    <%@ Application Language="C#" %>
    <script runat="server">
    void Application_Start(object sender, EventArgs e) 

            // 在应用程序启动时运行的代码 

    void Application_End(object sender, EventArgs e) 

            //  在应用程序关闭时运行的代码 

    void Application_Error(object sender, EventArgs e) 

            // 在出现未处理的错误时运行的代码 

    void Session_Start(object sender, EventArgs e) 

            // 在新会话启动时运行的代码 

    void Session_End(object sender, EventArgs e) 

            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
            // 或 SQLServer,则不会引发该事件。 

    </script>
      

  3.   

    请参考一下:
    http://www.cnblogs.com/lgh/archive/2005/10/31/265374.html
      

  4.   

    Application
    Session
    两个对象,事件一样的
    Init
    Disposed
    Error
    Start
    End
    BeginRequest
    。。
    常用的就是Start
    End看字面应该知道意思吧
      

  5.   

    webconfig里的设置一下在试试
                   <system.web>
    <sessionState mode="InProc">
    </sessionState>
      

  6.   

    说过了,不要给这个1.1的。这个是大家都知道的。
    但是在EndRequest里面,不能使用Session。