2009-05-14 5 views

उत्तर

19

यह न तो int और न ही guid है; MSDN help file ...

ASP.NET सत्र पहचानकर्ता है यादृच्छिक रूप से जनरेट एक 24 चरित्र जेड और 0 से संख्या के लिए एक से लोअरकेस वर्णों से मिलकर स्ट्रिंग में इनकोडिंग संख्या 5 के लिए

+5

... जो इसे 120 बिट बनाता है। – teedyay

+0

उत्तर यहां पूछा गया है कि प्रासंगिक नहीं है! यह स्ट्रिंग लम्बाई के साथ जेनरेट किए गए निर्दिष्ट करने के बजाय बस आकार के लिए माना जाता था ... हालांकि यह किसी के ज्ञान को बढ़ाता है। –

+0

जब मैंने यह प्रश्न देखा, तो यही वह जवाब है जिसे मैं ढूंढ रहा था: "सत्र आईडी एक 120-बिट यादृच्छिक संख्या है जिसे 20-वर्ण स्ट्रिंग द्वारा दर्शाया गया है" [https://support.microsoft.com/en- हमें/केबी/899,918] (https://support.microsoft.com/en-us/kb/899918) –

-2

क्योंकि यह System.Guid वैल्यूटाइप के रूप में जेनरेट किया गया है, यह 128-बिट पूर्णांक है, जो 16 बाइट्स है।

+1

यह गलत है। AFAIK, GUID का उपयोग एएसपी क्लासिक में किया गया था लेकिन एएसपी.Net में गिरा दिया गया क्योंकि GUID पीढ़ी बहुत अनुमानित थी और इसके परिणामस्वरूप सुरक्षा त्रुटियां हुईं। – kervin

1

मैं 88 बाइट्स के साथ जाऊंगा। यदि आप ASP.NET स्थिति डेटाबेस देखते हैं, तो यह परिभाषित किया गया है।

4
से

डेटाबेस में अतिरिक्त 8 वर्णों का कारण जो आपको कोड में मिलता है वह एप्लिकेशन आईडी है। डेटाबेस में सत्र tempAplicationID के साथ ASPStateTemp अनुप्रयोग तालिका से जोड़ा जाता है। यही कारण है कि आपको कोड में 24 वर्ण, और 32 डीबी में मिलता है।