Response.Redirect是否在Application_AcquireRequestState中工作?

时间:2014-02-19 08:36:18

标签: c# asp.net redirect

我正在检查标头值并将其与会话变量进行比较:

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中,我可以访问我需要的所有数据但无法使重定向工作。

1 个答案:

答案 0 :(得分:0)

而是尝试HttpContext.Current.RewritePathResponse.Redirect会向客户端发送重定向标头,然后客户端会调用新的网址。我的猜测是你希望这一切都发生在服务器端,这是HttpContext.Current.RewritePathServer.Transfer会做的。