如何使一个ASP.NET的会话cookie与ASP.NET HttpSession的过期吗?
-
19-08-2019 - |
题
我已经为了共享跨越一个子域数据创建的HttpCookie:
HttpCookie cookie = new HttpCookie("sessionGUID");
cookie.Value = value;
cookie.Domain = ".example.com";
Response.Cookies.Set(cookie);
我不小心假设,因为它是一个“会话”饼干(没有到期),这将伴随着我的ASP.NET会话过期。当然,浏览器,这是一个“浏览器会话” cookie并没有联系ASP.NET会话。
我想要做的就是与ASP.NET会话过期沿着这些“浏览器会话”饼干。
我想我只需要设置过期时间为相同的值作为ASP.NET会话。我将如何编程确定呢?
解决方案
如果他们只需要靠近则是这样的:
int expirationMinutes = Session.Timeout;
if (System.Web.HttpContext.Current.Response.Cookies["monster"]!=null)
{
System.Web.HttpContext.Current.Response.Cookies["monster"].Expires =
DateTime.Now.AddMinutes(expirationMinutes);
}
在会话定时器重置一切用户的职位或获取,这样以来代码在服务器上执行的,现在,在剩余时间对当前会话查看Session.Timeout,说20分钟。
在20分钟后,cookie将不被接受,你就必须发出一个新的。
不隶属于 StackOverflow