Global.asax中的代码 
Model.User user = new Model.User();
 void Session_Start(object sender, EventArgs e) 
    {
        user = Session["User"] as Model.User;       
    }
    
    void Session_End(object sender, EventArgs e) 
    {        
           
        BLL.UserBLL.User_Leave(user.UserId); //结束后运行      
        this.Session.Clear();    
    }
WEBCONFIG中设置
<sessionState mode="InProc" timeout="1" cookieless="false" stateConnectionString="tcpip=127.0.0.1:42424">
 </sessionState>为什么他不走Session_End啊 我设置20分钟也不行
另外问下 Session的过期时间最小是20分钟吗?

解决方案 »

  1.   

    另外问下 Session的过期时间最小是20分钟吗?
    ====
    默认是20分钟,可以在web.config中自己手动设置timeout
      

  2.   

    你先被设20分钟,20分钟太长了,怎么测啊?你就设1分钟就行。<sessionState timeout="1" mode="InProc"></sessionState>
    随便在哪个页面中protected void Page_Load(object sender, EventArgs e)
            {            this.Session["ss"] = "ss";
    }把该页设为起始页,在session_end处打个断点,然后运行起来就等1分钟。就会看到运行了。
      

  3.   

    我设置的是1分钟啊  断点也加了 现在的问题就是 他不走Session_End 啊
      

  4.   

    session默认有过期时间,是20分钟
    关闭IE是不执行Session_End事件的
    修改session过期的默认时间
    要等到超时才能执行Session_End
      

  5.   

    Session_End是Session过期的事后触发的