[英]custom session_end redirect implementation?
我正在使用MVC應用程序。 我有一個要求,當會話結束時,應用程序應重定向到主頁。 我需要一般地實現此邏輯。
我做了一些研究,似乎有一項要求,就是我需要在global.asax的Session_Start中設置任何要會話的內容。 然后,當會話過期時,應該觸發global.asax中的Session_End。 在會話結束時,我需要確保:
對我而言,完成上述第一和第二最佳方法是什么?
protected void Session_Start(object sender, EventArgs e)
{
Session["X"] = 1;
}
protected void Session_End(object sender, EventArgs e)
{
}
重定向只能在HTTP響應中發出(它是響應標頭,通常為302狀態)。 只能響應HTTP請求而發送HTTP響應。 因此,如果要重定向瀏覽器,則只能在他們請求下一頁時執行。 當session_end事件發生時,您無法神奇地接觸到瀏覽器並使之執行某些操作。
將其作為服務器端事件處理是不正確的方法。 您將需要向頁面添加Javascript以跟蹤剩余的會話時間,並使用location.href而不是使用重定向。 例如,對於十分鍾的超時,您可以使用類似以下的內容:
setTimeout(function(){ location.href="https://www.example.com/timeout.aspx"; }, 600000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.