[英]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.