我已经为了共享跨越一个子域数据创建的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将不被接受,你就必须发出一个新的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top