मेरे पास System.Entity.Data.DbContext पर आधारित कई कक्षाएं हैं। वे वेब अनुप्रयोग के अलग-अलग सिरों में कई बार अनुरोध करते हैं - क्या उन्हें तुरंत चालू करना महंगा है?कैशिंग इकाई फ्रेमवर्क डीबी कॉन्टैक्स प्रति अनुरोध
मैं उनकी एक प्रतिलिपि HttpContext.Current.Items में कैश कर रहा था क्योंकि प्रति अनुरोध की कई प्रतियां रखने का अधिकार नहीं था, लेकिन अब मुझे पता चला है कि यह स्वचालित रूप से HttpContext से नहीं निकाला जाता है अनुरोध के अंत में। इससे पहले कि मैं इसे निपटाने के लिए कोड लिखने से पहले (Application_EndRequest में), मैंने सोचा कि मैं स्थिति को पढ़ाऊंगा क्योंकि वास्तव में उन्हें कोई संकेत नहीं दिया गया है, अगर मुझे उन्हें तुरंत चालू करना चाहिए जहां मुझे उनकी आवश्यकता है और फिर वहां उनका निपटान करें।
इस तरह के प्रश्न इंटरनेट के आसपास पूछे गए हैं, लेकिन मुझे ऐसा लगता है कि मेरे प्रश्न का उत्तर वास्तव में नहीं है। क्षमा करें अगर मैं किसी को दोहरा रहा हूं।
अद्यतन
मुझे पता चला है कि संदर्भों के निपटान शायद this ब्लॉग पोस्ट में कोई फर्क नहीं पड़ता, लेकिन मैं अभी भी सुनने के लिए वे पहली जगह में दृष्टांत के लिए महंगे हैं कि क्या दिलचस्पी रखता हूँ। असल में, क्या दृश्यों के पीछे बहुत सारे ईएफ जादू चल रहे हैं जिन्हें मैं अक्सर करना नहीं चाहता हूं?
एक और एसओ उत्तर मूल रूप से मेरे प्रश्न का उत्तर देता है: [यहां] (http://stackoverflow.com/questions/813457/instantiating-a-context-in-linq-to-entities)। सृजन को तेज करने के लिए थोड़ा सा हालांकि यह [कैश] एंटीटी कनेक्शन का उपयोग [यह] (http://stackoverflow.com/questions/2575485/managing-entityconnection-lifetime) प्रश्न के अनुसार करना संभव है (हालांकि यह सहन करना उपयोगी है ध्यान रखें कि यह धागा सुरक्षित नहीं है)। मैं अभी तक अपने प्रश्न का उत्तर नहीं दे सकता, इसलिए मैं इंतजार करूंगा और देख सकता हूं कि कोई अन्य उम्मीदवार हैं या नहीं। – stewartml
संभावित डुप्लिकेट [एक डीबी कॉन्टेक्स्ट प्रति वेब अनुरोध ... क्यों?] (Http://stackoverflow.com/questions/10585478/one-dbcontext-per-web-request-why) – Steven