protected void Session_End(Object sender, EventArgs e)
{
   Server.Transfer("frmLoginOut.aspx");
}如上代码,当session过期后,也没有执行,当执行到Server.Transfer("frmLoginOut.aspx");
就跳过了结束!
什么原因?

解决方案 »

  1.   

    System.Web.HttpContext.Current.Response.Redirect("frmLoginOut.aspx");用这样看看,恩
      

  2.   

    end里的事件很难执行,我就从来没看见执行过,不知道为什么
      

  3.   

    Session_End的执行是极其不准确的,经常由于停电、断网等原因,而不执行!另外,如果想让Session_End执行,必须有一个完整的Request请求在服务器与客户端执行完整一次,还要有存储Session变量才可以,否则Session_End不会执行,因为没有上面两个条件,你的会话每次生成的SessionID将是不同的!所以,不建议在那里执行最后的处理,建议在页面的On_Unload中进行处理!
      

  4.   

    我是通过 FormsAuthentication.SetAuthCookie验证
    当我想session结束的时候SingOut()但Session_End总是执行到System.Web.Security.FormsAuthentication.SignOut();
    就无效了怎么办??
      

  5.   

    这个方法是行不能的.
    由于在session_end的时候,客户端通常已经关闭页面了,而session_end是运行在服务端的,它并不能指挥客户端的浏览器进行转向.所以无法实现.
    不知道楼主的是想实现什么功能?我想,应该可以用其他办法来解决.
      

  6.   

    Session_End的执行是极其不准确的,经常由于停电、断网等原因,而不执行!另外,如果想让Session_End执行,必须有一个完整的Request请求在服务器与客户端执行完整一次,还要有存储Session变量才可以,否则Session_End不会执行,因为没有上面两个条件,你的会话每次生成的SessionID将是不同的!所以,不建议在那里执行最后的处理,建议在页面的On_Unload中进行处理!------------------------------------------------不建议在页面的On_Unload里写任何东西因为刷新会触发这个事件^_^
      

  7.   

    其实我就想当Session结束的时候调用FormsAuthentication.SignOut();或者连接到LoginOut.aspx页面然后注销
      

  8.   

    调session.abandon事件的时候会触发这个事件的