2008-11-19 13 views
38

यदि मेरे पास मानक एएसपी.नेट एप्लीकेशन है, तो क्या वस्तु ऑब्जेक्ट को ऑब्जेक्ट इंस्टेंस में डालने के विरोध में ऑब्जेक्ट स्टेटिक बनाने के बीच कोई अंतर है?एएसपी.नेट आवेदन राज्य बनाम एक स्टेटिक ऑब्जेक्ट

मेरी समझ से, दोनों ऑब्जेक्ट्स ऐप डोमेन के लिए एक बार मौजूद हैं।

दूसरा, यदि आपके पास एक संदर्भित डीएल में एक स्थिर वस्तु है, तो एएसपी.नेट साइट के लिए क्या होता है। यह ऐप डोमेन का हिस्सा भी है, इसलिए यह हमेशा एक बार अस्तित्व में रहेगा?

+1

मैं डॉन ' टी विवरण नहीं जानते लेकिन मैं खुद से एक प्रश्न पूछूंगा "क्या यह मेरे आवेदन राज्य का हिस्सा है" - फिर इसे वहां रखें। यदि यह कुछ स्थिर है जो उदाहरण के लिए, विंडोज क्लाइंट में भी हो सकता है - इसे स्थिर के रूप में बना देगा। – badbadboy

उत्तर

56

से: इतना है कि यह ASP.NET करने के लिए आसान करने के लिए विस्थापित मौजूदा अनुप्रयोगों है http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312607

ASP.NET अनुप्रयोग राज्य क्लासिक एएसपी के साथ संगतता के लिए मुख्य रूप से शामिल हैं। यह अनुशंसा की जाती है कि एप्लिकेशन ऑब्जेक्ट की बजाय एप्लिकेशन क्लास के स्थिर सदस्यों में स्टोर डेटा एप्लिकेशन ऑब्जेक्ट। यह प्रदर्शन को बढ़ाता है क्योंकि आप स्थिर चर से अधिक एप्लिकेशन शब्दकोश में किसी आइटम तक पहुंच सकते हैं।

इसके अलावा, हाँ, स्थैतिक चर उसी तरह वे कहाँ से लोड किए गए हैं की परवाह किए बिना व्यवहार करते हैं, और अनुप्रयोग डोमेन प्रति ठीक एक बार अस्तित्व में (जब तक आप [ThreadStatic] का लेबल उन के बारे में बात कर रहे हैं)

+0

जब आप एप्लिकेशन स्टेट ऑब्जेक्ट के बजाय स्थिर चर का उपयोग करते हैं तो आप टाइप सुरक्षा भी प्राप्त करते हैं। – BornToCode