我正在检查标头值并将其与会话变量进行比较:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
//if header does not match session, redirect to login page.
Response.Redirect("~/login.aspx");
}
如果它们不匹配,我想重定向到登录页面。好像Redirect没有被解雇。在调试时,它将触及该行代码,似乎所有处理都停止但没有重定向。
我应该尝试不同的事件处理程序吗?我的问题是我需要能够访问Response.Headers和Session状态来检查。在AcquireRequestState中,我可以访问我需要的所有数据但无法使重定向工作。
答案 0 :(得分:0)
而是尝试HttpContext.Current.RewritePath
。 Response.Redirect
会向客户端发送重定向标头,然后客户端会调用新的网址。我的猜测是你希望这一切都发生在服务器端,这是HttpContext.Current.RewritePath
或Server.Transfer
会做的。