2009-11-23 96 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被刪除。