2009-11-23 94 views
13

如何清除当用户关闭浏览器时通过我的asp.net mvc(C#)应用程序存储的cookie?清除浏览器上的cookies关闭

是否有任何选项可以创建一个cookie,以便在浏览器关闭后过期?

我需要使用cookie,因为我将存储一些要维护的值直到浏览器关闭。

例如,在登录过程中,我可能会将用户标识存储在cookie中,我可以将其用于我的应用程序进程,直到bwoser关闭。一些特定的时间,我需要用饼干

回答

22

会话被usualy用于该克服后

会议将到期。根据Wikipedia,当没有设定到期日期时,当用户关闭浏览器时,cookie被清除。

cookie设置者可以指定删除日期,在这种情况下,该cookie将在该日期被删除。如果cookie设置者没有指定日期,那么一旦用户退出浏览器,Cookie将被删除。

+1

当用户长时间保持浏览器打开时,会话将过期。没有失效日期的cookie会持续到浏览器关闭为止吗? – Prasad 2009-11-23 14:21:53

+0

这真的取决于浏览器如何实现它。 – Ikke 2009-11-23 14:41:01

+5

当浏览器关闭时,您无法指望被删除的Cookie。 – 2013-03-01 15:54:50

0

正如this SO question:

Response.Cookies("cookie_name").Expires = Session.Timeout; 
+4

您实际上想要在Cookie上指定任何Expires值。这会导致在浏览器会话结束时(用户关闭浏览器)删除cookie。 – 2009-11-23 14:15:24

-1

当我把我的cookie在过去的到期或没有设置它在所有提到的那样,造成SSO登录进入我的网站一个无限循环。可能我将我的网站配置为错误,以便与SSO登录一起工作。

但是,对我来说,只是在cookie过期时间加2秒。

trackCookie.Expires = DateTime.Now.AddSeconds(2); 

这给了cookie在登录时的有效性。并在不久之后到期。因此,在浏览器关闭时,Cookie被删除。