2009-11-11 15 views
6

वैकल्पिक हल:Asp.net स्टेटिक चर जीवन समय ताज़ा और पोस्टबैक पार

मैं एक वर्ग स्तर लोक स्थिर चर घोषित कर दिया और ASP.NET 3.5 का वातावरण लोड घटना में मैं द्वारा बढ़ी हुईं में एक मूल्य के 0 के साथ प्रारंभ किया है उस चर

समस्या की 1:

  1. पृष्ठ ताज़ा और यहां तक ​​कि Postback, मुझे लगता है कि चर के नवीनतम मूल्यों हो रही है प्राप्त करने के बाद। एक चर STATIC रूप में घोषित किया, पृष्ठ ताज़ा और Postback द्वारा रीसेट नहीं हो रही है?
  2. मैं बस ब्राउज़र बंद कर देता हूं और वीएस 2008 आईडीई बंद करता हूं - भले ही मैं फिर से खोलूं, उसी वेब एप्लिकेशन को दोबारा दोहराएं, मुझे अंतिम वृद्धि मूल्य मिल रहा है, 0 नहीं। मैं सोच रहा हूं कि आवेदन बंद करने के बाद यह कैसे संभव है ।

आप कृपया इस पर मदद कर सके।

उत्तर

5

स्थैतिक चर पूरे AppDomain लिए मान्य हैं। जब आप अपना ब्राउज़र बंद करते हैं तो आप एप्लिकेशन को बंद नहीं करते क्योंकि यह वेब सर्वर पर निष्पादित होता है। ओह और उल्लेख करना भूल गया: उचित लॉकिंग तंत्र के बिना बहु-थ्रेडेड अनुप्रयोगों में स्थिर चर का उपयोग करने से बचने का प्रयास करें या आप दौड़ की स्थिति में भाग सकते हैं।

4

स्थैतिक चर आवेदन डोमेन की अवधि के लिए उनके मूल्यों रहते हैं।

यह जब तक आप वेब सर्वर (आईआईएस) को पुनः आरंभ कई ब्राउज़र सत्र बच जाएगा या जब तक यह अपने आप ही पुन: प्रारंभ होता (जब यह वह अपने इस्तेमाल किया संसाधनों ताज़ा करने के लिए की जरूरत है फैसला करता है)।

+1

और कभी-कभी VS2008 को बंद करते समय कैसिनी सर्वर अभी भी सक्रिय होगा और अनलोड नहीं होगा। लड़का जो कुछ मजेदार ग्लोबल.एक्सएक्स डीबगिंग बनाता है। – Radu094

+1

मेरे साथ कभी नहीं हुआ आनंद से। –

2

स्टेटिक चर संपूर्ण ऐपडोमेन के लिए मान्य हैं।

बंद वीएस 2008 आईडीई और/या डिबगिंग रोकना हमेशा ऐसी वेबसाइट को होस्ट करने के लिए पर्याप्त नहीं है जो आपकी वेबसाइट को इस तरह से होस्ट कर रहा है। (यहां तक ​​कि जब वेबसाइट वी.एस. 2008 परीक्षण सर्वर में होस्ट की है।

एक आसान उपाय "स्पर्श" web.config फ़ाइल है। (उदाहरण के लिए एक अंतरिक्ष जोड़ने और इसे बचाने के लिए)

यह अगले अनुरोध को एक नए ऐप-डोमेन में संसाधित करेगा।

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