आप एक गैर-लगातार कुकी के बारे में बात कर रहे हैं। डिफ़ॉल्ट रूप से asp.net कुकीज़ को इस तरह भेजता है। उनके बीच मुख्य अंतर यह है कि एक सतत कुकी की अवधि समाप्त हो जाती है।
तो, यदि आप कुकी को जारी रखना नहीं चाहते हैं, तो समाप्ति मान सेट न करें।
यह कहा गया कि कुकी वास्तव में बंद होने तक स्मृति में रहेगी। मान लीजिए कि वे आपकी साइट पर ब्राउज़ करते हैं और आप एक निरंतर कुकी सेट करते हैं। वे चीजें करते हैं और दूर ब्राउज़ करते हैं। बाद में, वे एक ही ब्राउज़र उदाहरण का उपयोग करके, अपनी साइट पर वापस आएं। कुकी अभी भी वहां रहेगी।
अब, अगर वे किसी भी समय ब्राउज़र बंद कर देते हैं, तो कुकी को बाहर कर दिया जाएगा।
प्वाइंट है, समाप्ति शीर्षलेख सेट न करें। विशेष रूप से जब सत्र की तारीख समाप्त हो जाती है। सत्र तिथियां आम तौर पर भविष्य में केवल 20 या इतनी मिनट होती हैं, लेकिन समाप्ति तिथि आगे बढ़ती है क्योंकि उपयोगकर्ता आपकी साइट के माध्यम से ब्राउज़ करता है।
===== अद्यतन =====
मैं परीक्षण के लिए निम्न कोड का प्रयोग किया:
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack) {
HttpCookie c = Request.Cookies["test"];
if (c != null) {
Response.Write(String.Format("test value is {0} <br />", c.Value));
}
} else {
HttpCookie c = new HttpCookie("test");
c.Value = "HERE IT IS";
Response.Cookies.Add(c);
}
}
protected void Button1_Click(object sender, EventArgs e) {
Response.Write("clicked<br />");
}
.aspx फ़ाइल सरल एक बटन जो कि Button1_Click हैंडलर निकाल दिया था। जब मैं प्रारंभ में किसी भी नवीनतम ब्राउज़र (यानी, फ़ायरफ़ॉक्स, क्रोम) का उपयोग करके इसे ब्राउज़ करता हूं तो कोई कुकी नहीं होती है। एक कुकी सेट होने पर बटन क्लिक करने के बाद। तब मैं ब्राउज़र पूरी तरह से बंद कर दिया, फिर से खोल दी और साइट पर वापस ब्राउज़ किया था। सभी मामलों में कुकी चला गया था।
http://stackoverflow.com/questions/12582689/delete-cookies-on-session-timeout – Shurmajee