2010-01-13 12 views
6

समझने में सहायता करें, इसलिए मुझे पहले कभी कुकीज़ का उपयोग नहीं करना पड़ा था, लेकिन अब मैं एक शॉपिंग कार्ट बना रहा हूं कि वे वापस आने और छोड़ने के लिए रख सकते हैं लेकिन मैं इसे स्टोर करना चाहता हूं उन्होंने कहा।.NET में कुकीज़ को चेक/पढ़ना/लिखना, कृपया मुझे

मैं क्या सोच रहा हूँ:

हमें कैसे पता चलेगा अगर एक कुकी मौजूद है और फिर बनाने या अद्यतन यह सबसे अच्छा तरीका एक कुकी का उपयोग के बारे में सोचना है?

मैं डेटा को कितनी सटीक रूप से संग्रहीत करूंगा, विशेष रूप से मैं "5,6,7,8" जैसे आईडी की एक सूची स्टोर करना चाहता हूं, क्या मुझे इसके लिए केवल एक स्ट्रिंग का उपयोग करना चाहिए या क्या यह तेज/बेहतर तरीका है कुछ ऐसा पढ़ना/पार्सिंग/लिखना? मेरा मतलब है कि मुझे लगता है कि मैं केवल अंत में new_value + ',' जोड़ना जारी रखूंगा, क्या कुकी चर के लिए कोई संलग्न है?

क्या कुकी के पास कुछ अद्वितीय पहचानकर्ता है जो मैं सुनिश्चित करने के लिए उपयोग करता हूं कि मैं डुप्लिकेट या कुछ नहीं लिखता?

नोट: वाक्यविन्यास देखने के लिए 'कैसे' देखना आसान है, लेकिन मैं वास्तव में 'सर्वश्रेष्ठ तरीका' या सबसे आदर्श समझने का प्रयास कर रहा हूं, इसका उपयोग कैसे किया जाना था, या आप सभी प्रोग्रामर कैसे पाए गए इस प्रकार के परिदृश्य में उनका उपयोग करने का सबसे उपयोगी तरीका है।

उत्तर

1

this similar question के विजेता उत्तर से पता चलता है कि आप केवल कुकी में उपयोगकर्ता आईडी संग्रहीत करते हैं। शेष डेटाबेस में चला जाता है।

यदि आप कुकीज के अलावा अन्य दृष्टिकोणों पर विचार कर सकते हैं, तो कई लोग कुकीज़ का उपयोग करके सत्र का उपयोग करना पसंद करते हैं। एक बात के लिए, आपके पास हमेशा कुकी में बहुत अधिक जगह नहीं होती है।

कुकी में शॉपिंग कार्ट को संग्रहीत करना मतलब है कि आपके पास कोई रिकॉर्ड नहीं होगा कि लोग किस खरीदारी के लिए खरीदारी कर रहे थे लेकिन खरीदारी नहीं की थी।

ओटीओएच, कुकी का उपयोग करके दुकानदारों की स्टोरेज स्पेस का उपयोग कर रहा है और अपना खुद का संरक्षण कर रहा है। यह समय और कई दुकानदारों के साथ महत्वपूर्ण हो सकता है।

+0

सबसे उत्कृष्ट, धन्यवाद – BigOmega

0

मैंने अतीत में कुकीज़ को प्रबंधित करने के लिए एक वर्ग बनाकर इसे हल किया (उदाहरण के लिए CookieManager) स्थिर विधियों के साथ मैंने HttpRequest ऑब्जेक्ट को पास किया।

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

0

मैं क्यों आगे बढ़ाना चाहता हूं आप केवल एक गाइड को संग्रहीत करते हैं जो एक कुकी में उपयोगकर्ता आईडी को मानचित्र करता है। दो मुख्य कारण हैं:

  • प्रदर्शन। धीमे होने के कारण यह डेटाबेस से डेटा खींच सकता है, आपको याद रखना होगा कि कुकी डेटा मुफ़्त नहीं है। इसे उपयोगकर्ता के ब्राउज़र से अपने वेब सर्वर पर अपलोड करना होगा, और यहां तक ​​कि हाई-स्पीड ब्रॉडबैंड कनेक्शन में बहुत धीमी गति से अपलोड की गति होती है। इसके विपरीत, आपके डेटाबेस में संभवतः वेब सर्वर पर एक गिगाबिट लिंक (कभी-कभी तेज़) होता है। तो सबसे अच्छा प्रदर्शन के लिए आप वास्तव में अपनी कुकी में क्या चाहते हैं वह एक गाइड है जो सीधे आपकी डेटाबेस तालिका की प्राथमिक कुंजी पर जाता है।
  • सुरक्षा। कुकीज में डेटा उपयोगकर्ता के कंप्यूटर पर एक सादा पाठ फ़ाइल में संग्रहीत किया जाता है।आप कभी नहीं जानते कि कोई उपयोगकर्ता आपकी साइट से कहां पहुंच जाएगा; यह एक बहुत ही सार्वजनिक स्थान हो सकता है जो इस तरह के डेटा को रखने के लिए उचित नहीं है।

तो क्या कोई डेटा है आप सीधे कुकीज़ का उपयोग कर सकते हैं? जैसा होता है, वहां है। कुकीज़ में एक विशेष मशीन और ब्राउज़र के साथ चिपकने की अच्छी संपत्ति होती है। आजकल बहुत से लोग एक से अधिक स्थानों से वेब तक पहुंचेंगे। शायद एक काम कंप्यूटर, एक घर कंप्यूटर, एक स्मार्ट फोन, एक नेटबुक ... जिनमें से सभी अलग-अलग स्क्रीन आकार और अन्य विशिष्टताएं हो सकती हैं। तो आप एक कुकी के साथ क्या कर सकते हैं स्टोर जानकारी जानकारी उपयोगकर्ता + स्थान के संयोजन के लिए विशिष्ट है।

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