读书人

Session_End事件,该怎么处理

发布时间: 2012-01-07 21:41:55 作者: rapoo

Session_End事件
我希望实现当Session失效时,跳转到登录页面。
下面是我的做法,但不能实现:
protected void Session_End(object s,EventArgs e)
{
HttpApplication app = (HttpApplication)s;
HttpContext context = app.Context;
context.Response.Redirect( "login.aspx ");
}

是不是我的思路有问题?
能不能给我个方法。
附:我希望在应用程序级做这样的处理。

[解决办法]
你没理解B/S程序的特点。你不能那么判断的
[解决办法]
不能在应用程序级做的,即使做,也不能在Session_End事件里做,
[解决办法]
在在应用程序级处理会陷入死循环
Page_Load:

if(Session[ "x "] == null) Response.Redirect( "login.aspx ");

[解决办法]
b/s是 是单一 服务 面向 多用户的

不能那么多

只能在页面程序端 判断

if(Session[ "user "] == null) Server.Transfer( "login.aspx ", false);

[解决办法]
在用户的会话销毁的时候,你的服务器端代码已经完全没有对客户端的控制能力了.
[解决办法]
在用户的会话销毁的时候,你的服务器端代码已经完全没有对客户端的控制能力了.
你说的对。
[解决办法]
protected void Application_PostAcquireRequestState( object sender, EventArgs e )
{
if(HttpContext.Current.Request.Url.ToString().ToLower().IndexOf( "login.aspx ") == -1)
{
if (HttpContext.Current.Session[ "x "] == null)
HttpContext.Current.Response.Redirect( "Login.aspx ");
}
}

读书人网 >asp.net

热点推荐