2014-02-19 46 views
0

我檢查了標頭值,並把它比作一個會話變量:Response.Redirect是否在Application_AcquireRequestState中工作?

protected void Application_AcquireRequestState(object sender, EventArgs e) 
{ 
    //if header does not match session, redirect to login page. 
    Response.Redirect("~/login.aspx"); 
} 

如果它們不匹配,我想重定向到登錄頁面。好像重定向沒有被解僱。在調試時,它會碰到這行代碼,看起來好像所有的處理都停止了,但沒有重定向。

我應該嘗試不同的事件處理程序嗎?我的問題是我需要能夠訪問Response.Headers和Session狀態來檢查。在AcquireRequestState中,我可以訪問所需的所有數據,但無法使重定向生效。

回答

0

寧可嘗試HttpContext.Current.RewritePathResponse.Redirect將重定向標頭髮送到客戶端,客戶端又調用新的URL。我的猜測是你想要所有的事情發生在服務器端,這是HttpContext.Current.RewritePathServer.Transfer會做什麼。

相關問題