2011-10-18 10 views
5

रिटर्न मैं JavaScript फ़ंक्शन के उपयोग कुकी स्टोर करने के लिए:C# Asp.net हो रही जावास्क्रिप्ट में सेट कुकी समाप्ति समय हमेशा 01.01.0001

createCookie("teaser", "teaser", 7); 
function createCookie(name, value, days) { 
var expires = ""; 
if (days) { 
    var date = new Date(); 
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
    expires = "; expires=" + date.toGMTString(); 
} 
document.cookie = name + "=" + value + expires + "; path=/"; 
return value; 
} 

और जब मैं चिढ़ाने की कुकी समाप्ति मेरी ब्राउज़र में कुकीज़ जाँच सही ढंग से सेट है: 25. अक्टूबर 2011 16:12:17

लेकिन जब सी # में मैं मूल्य प्राप्त करने के लिए जाता हूं, तो समाप्ति तिथि 01.01.0001 पर सेट की जाती है।

var cookie = Request.Cookies["teaser"]; 
    if (cookie != null && teaserList.Count() > 0) 
    { 

     cookie.Expires is 01.01.0001 

कोई सुराग?

उत्तर

7

Egghead says that:

ब्राउज़र कुकीज़ प्रबंधन के लिए जिम्मेदार है, और कुकी के समाप्ति समय और तारीख ब्राउज़र कुकीज़ की अपनी दुकान प्रबंधन में मदद। इसलिए, हालांकि आप कुकी के नाम और मूल्य को पढ़ सकते हैं, तो आप कुकी की समाप्ति तिथि और समय नहीं पढ़ सकते हैं। जब ब्राउज़र सर्वर पर कुकी जानकारी भेजता है, तो ब्राउज़र में समाप्ति जानकारी शामिल नहीं होती है। (कुकी की संपत्ति समाप्त हो जाती है शून्य का दिनांक-समय मान देता है।) यदि आप कुकी की समाप्ति तिथि के बारे में चिंतित हैं, तो आपको इसे रीसेट करना होगा।

1

ब्राउज़र कुकी पर समाप्ति दिनांक को सर्वर पर प्रेषित नहीं करता है, यह HTTP विनिर्देश के अनुसार है।

ब्राउज़र केवल कुकी नाम और मूल्य केवल भेजते हैं।

कुकी वस्तु पर संपत्ति समाप्त हो रहा है केवल प्रयोग किया जाता है जब उस कुकी एक जवाब में लिखा होने जा रहा है पर स्थापित करने समाप्ति तिथि, नहीं एक अनुरोध में पढ़ें।

कुकी पढ़ने पर समय समाप्त हो जाता है संपत्ति मूल्य हमेशा शून्य होने जा रहा है। HTTP हेडर की जांच करके आप इसे अपने लिए देख सकते हैं। यदि आप वास्तव में कुकी के समाप्ति मान को पढ़ना चाहते हैं, तो इसे मूल्य में लिखने का प्रयास करें, या समाप्ति तिथि के मूल्य के साथ एक और कुकी का उपयोग करें (आपको उन्हें स्वयं समन्वयित रखने की आवश्यकता होगी)।

संबंधित मुद्दे