0
爲了確保我的會話始終保持開啓,我創建了一個簡單的stayalive.aspx頁面。頁面的標題包含每5分鐘刷新頁面的元數據。爲什麼我的ASP.NET保持連接邏輯不起作用?
在我的頁面加載邏輯中,我只是將一個值設置爲會話。
protected void Page_Load(object sender, EventArgs e) {
System.Web.HttpContext.Current.Session["Alive"] = 1;
}
我的理解是,只要你不斷在會話中放置一個值,會話就會繼續保持活躍狀態。但是,這似乎並不奏效。我在大約30分鐘內仍然會出現會話超時。
我想知道是否有人有任何洞察力爲什麼不工作。
請注意,web.config中的sessionstate以及表單身份驗證超時值設置爲300(5小時)。
我想過了,而不是在會議設置的值相同,我每次都設置了不同的值:
System.Web.HttpContext.Current.Session["Alive"] = DateTime.Now;
你認爲這將幫助?
你介意分享爲什麼你需要會話不超時? – 2013-03-06 23:42:38
您實際上不需要任何東西來調用會話,只需調用該頁面,會話就會更新。但是你確定這個頁面被刷新了嗎?用戶如何與網站的其他部分進行交互,他們是否將該頁面打開並在其他網頁上工作? – Aristos 2013-03-06 23:46:08
檢查此替代解決方案:http://stackoverflow.com/questions/13997778/reset-session-timeout-without-doing-postback-in-asp-net/13998000#13998000 – Aristos 2013-03-06 23:49:18