我是asp.net的新手。我登錄網站併爲用戶創建會話,將此會話視爲s1。 添加cookie(c1)到客戶端網站,過期3天。瀏覽器關閉並重新打開後維護同一會話
假設如果我關閉瀏覽器沒有註銷,並再次使用相同的網址,然後我發現會議是空的,但我得到cookie(C1),然後我創建了一個新的會話。但會話s1仍佔用服務器上的內存。這意味着這次兩個會話在同一臺服務器上佔用內存。
我想使用會話s1與cookie(c1) - 是否有可能。或者如果第二次請求到來,我想刪除會話s1。
我使用的代碼是:
.ASPXFORMSAUTH到期:用表單驗證
if (Session["UserInfo"] != null)
{
// code
}
else
{
HttpCookie HT = Request.Cookies["User"];
if (HT != null)
{
Session["UserInfo"] = HT["UserName"]; //Here new session is created while previous is already exist on server
}
else
{
//code
}
}
你能提供更多的信息嗎?你正在使用什麼類型的會話(InProc,Sql,State服務)?你確定你所說的cookie是會話相關的,而不是認證cookie?通常,您會在瀏覽器關閉時設置會話服務器端超時並且客戶端cookie過期。 – semao
我正在使用inproc會話。這裏我explicitaly爲下次登錄創建cookie,我想重用服務器內存,因爲會話已在服務器上創建,爲什麼我應該再次創建新的會話。 –