簡體   English   中英

如何在 C# 中將 cookie 過期設置為會話

[英]How do I set cookie expiration to session in C#

我正在創建一個網站,但我不確定如何使用帶有 cookie 的會話。

當會話超時時,我想顯示用戶的用戶名和時間; 例如,存儲在 cookie 和 session 中的用戶名。 當會話超時時,必須從 cookie 中檢索用戶名。

讓我們先把事情看清楚。 會話是用戶在使用網站時所經歷的會話。 它的工作原理基本上是用戶開始與 Web 服務器的會話,然后 Web 服務器為其提供會話的密鑰並為會話設置超時,這些超時存儲為 cookie。

由於此過程是自動的,您只能在 web.config 中使用 sessionState https://msdn.microsoft.com/en-us/library/h6bb9cz9%28v配置它(除非您是 asp.net core vNext,我對此表示懷疑) =vs.80%29.aspx

另一方面,普通的 HttpCookie 是您在 Response 對象上設置的內容,可以為它指定一個特定的到期日期,如下所示:

HttpCookie myCookie = new HttpCookie("MyTestCookie");
DateTime now = DateTime.Now;

// Set the cookie value.
myCookie.Value = now.ToString();
// Set the cookie expiration date.
myCookie.Expires = now.AddMinutes(1);

// Add the cookie.
Response.Cookies.Add(myCookie);

哪個更適合您的需求。

如果您想了解有關會話過期的更多信息,我還建議您查看http://www.hanselman.com/blog/TroubleshootingExpiredASPNETSessionStateAndYourOptions.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM