.net 如何在C中设置cookie过期时间#

.net 如何在C中设置cookie过期时间#,.net,asp.net,c#-4.0,.net,Asp.net,C# 4.0,如何在C#中设置cookie过期时间 我希望Cookie在浏览器关闭时过期。我在许多博客中发现,将前一个日期作为到期日期会导致cookie自动过期,但这在我的情况下不起作用。Hii bhasker 您的问题的简单答案是,不要在创建cookie时明确指定cookie过期时间。然后,它将在会话完成或浏览器关闭时过期 var cookie = new HttpCookie("name", "value") { HttpOnly = true }; 不要设置属性,否则在浏览器重新启动后,您将得

如何在C#中设置cookie过期时间

我希望Cookie在浏览器关闭时过期。我在许多博客中发现,将前一个日期作为到期日期会导致cookie自动过期,但这在我的情况下不起作用。

Hii bhasker

您的问题的简单答案是,不要在创建cookie时明确指定cookie过期时间。然后,它将在会话完成或浏览器关闭时过期

var cookie = new HttpCookie("name", "value")
{
    HttpOnly = true
};

不要设置属性,否则在浏览器重新启动后,您将得到一个持久的cookie。

为什么不使用会话而不是cookie上的特定时间?这样,当您关闭浏览器时,会话也将结束,cookie将过期。

您还必须关闭同一浏览器中的所有其他页面,例如,如果您正在使用firefox,您有一个名为firefox.exe的进程,该进程在最后一个窗口打开且会话不会过期之前不会结束

将过期日期设置为前一个日期将导致cookie被删除,但“不会”使其自动过期

假设浏览器正在存储一个到期日期设置为明天的cookie。当你将cookie过期日期改为昨天时,浏览器会嗅到它并说“这已经过期了,我要扔掉它”,这实际上是在删除cookie(事实上,没有其他方法可以删除cookie)


如果在创建cookie时未设置过期时间,并且未编辑该属性,则cookie将自动成为会话cookie,从而在用户关闭浏览器时删除cookie。

您可以分享一些代码来显示您当前的操作吗?将到期日期设置为以前的日期将导致cookie被删除,但它不会使cookie自动过期。