如何在C#中将cookie过期设置为会话

时间:2016-06-07 07:20:56

标签: c# session cookies

我正在创建一个网站,当会话超时我想显示用户的用户名和时间,但我不知道热门使用cookies会话 例如当会话超时时,存储在cookie和会话中的用户名必须从cookie中恢复

1 个答案:

答案 0 :(得分:9)

让我们先把事情放在眼前。 会话是用户在使用网站时遇到的会话。 工作原理基本上是用户启动与Web服务器的会话,然后Web服务器为其提供会话密钥,并为会话设置存储为cookie的超时。

由于此过程是自动的,您只能使用sessionState https://msdn.microsoft.com/en-us/library/h6bb9cz9%28v=vs.80%29.aspx

在web.config中配置它(除非您是asp.net core vNext,我怀疑)

另一方面正常的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