当前位置:编程学习 > C#/ASP.NET >>

Session_End 事件下的代码当 timeout失效后还会连续执行?


程序一运行Default.aspx 单击Button3 按钮后
  页面上会显示  现在Application 的值是:1

一分钟后,单击Button3 按钮后
  页面上会显示  现在Application 的值是:2
再过一分钟后,单击Button3 按钮后
  页面上会显示  现在Application 的值是:3
再过一分钟后,单击Button3 按钮后
  页面上会显示  现在Application 的值是:4

问题是:
Session_End 事件下的代码当 timeout失效后还会连续执行?

具体测试代码如下:

在Web.config文件中设置
<system.web>
 <sessionState timeout="1"/>
</system.web>

在Global.asax文件中:
 void Application_Start(object sender, EventArgs e) 
    {
        // 在应用程序启动时运行的代码
        Application["tem2"] =1;

    }

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

        Application["tem2"] =1+Int16.Parse(Application["tem2"].ToString());

    }


在 Default.aspx文件中
protected void Button3_Click(object sender, EventArgs e)
    {
        Response.Write(" 现在Application 的值是:"+Application["tem2"].ToString());
    }



Session对象有以下两个事件:
    1) Start事件:在创建会话时发生。
    2) End事件:在会话结束时发生。需要说明的是,当用户在客户端直接关闭浏览器退出Web应用程序时,并不会触发Session_End事件,因为关闭浏览器的行为是一种典型的客户端行为,是不会被通知到服务器端的。Session_End事件只有在服务器重新启动、用户调用了Session_Abandon()方法或未执行任何操作达到了Session.Timeout设置的值(超时)时才会被触发。 --------------------编程问答-------------------- timeout 已设置为1分钟了,但
void Session_End(object sender, EventArgs e) 
    { 
        // 在会话结束时运行的代码。 
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
        // 或 SQLServer,则不会引发该事件。 

        Application["tem2"] =1+Int16.Parse(Application["tem2"].ToString()); 

    } 
为什么还是每隔一分钟会执行一次? --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 为什么会这样子啊? --------------------编程问答-------------------- Session_End不就是在会话结束时执行的吗?一分钟过后就执行了Session_End中的代码了,Application["tem2"]增1 --------------------编程问答-------------------- 但是再过一分钟后又会自动再执行一次,为什么啊?
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,