मैं के रूप में मैं IIS6 में देखा है यहाँ इस प्रश्न से संबंधित मेरे निष्कर्ष की पेशकश करना चाहता था:
मैं IIS6 में बड़े पैमाने पर इस मुद्दे के साथ काम कर दिया है और कुछ रोचक परिणाम log4net और प्रतिबिंब का उपयोग निष्पादन इतिहास पर कब्जा करने के पाया है । जो मैंने पाया है वह है कि दृश्यों के पीछे व्यापक 'धागा प्रबंधन' चल रहा है। ऐसा लगता है कि थ्रेड की 'प्राथमिक' श्रृंखला है जो 1: 1 से HttpApplication
से मेल खाती है। हालांकि ये थ्रेड आपके अनुरोध के लिए पाइपलाइन को विशेष रूप से संभाल नहीं पाते हैं। विभिन्न उदाहरणों को एक्सेस किए जाने पर विभिन्न विभिन्न उप-धागे कह सकते हैं। आपके आवेदन द्वारा उपयोग किए जाने वाले बाद के नए अनुरोध और संसाधन अनुरोध आपके मूल अनुरोध से संबंधित कुछ लगातार जानकारी साझा करते हैं, लेकिन अभी तक प्रारंभिक धागे से कुछ प्रकार के रिश्तों को इंगित करने वाले पूरी तरह से संभाले नहीं जाते हैं। मैं किसी भी ठोस पैटर्न (जो मैंने पहले वर्णित किया है उसके अलावा) को नहीं समझ सका क्योंकि किस तत्व को अन्य धागे में विभाजित किया गया था क्योंकि यह प्रतीत होता है कि यह यादृच्छिक था। इस सबूत के लिए मेरा निष्कर्ष यह है कि पदानुक्रमित पूलिंग की कुछ अवधारणा है? ऐसा होता है जहां संदर्भ तत्वों के कुछ अज्ञात सबसेट माता-पिता संदर्भ में बाल धागे में विरासत में प्राप्त होते हैं।
तो एक उत्तर के रूप में मैं कहूंगा कि HttpModules
धागे के बीच साझा किया गया है। उदाहरण मान लॉक करने के मामले में, यह लागू होगा यदि मान मॉड्यूल का उपयोग करने वाले सभी अनुरोधों पर लागू होते हैं और कुछ राज्य बनाए रखना चाहिए। मैं यह उपयोगी साबित कर सकता हूं अगर राज्यव्यापी उदाहरण मूल्यों को बनाए रखने का प्रयास किया जा रहा है जो कि यह सुनिश्चित करने के लिए महंगा है ताकि उन्हें बाद के अनुरोधों में पुन: उपयोग किया जा सके।
यह समस्या मुझे कुछ समय के लिए परेशान कर रही थी उम्मीद है कि यह जानकारी किसी की मदद करेगी।
हां, यह कई अलग-अलग अनुरोधों के बीच उदाहरण का पुन: उपयोग करता है। लेकिन सवाल यह है कि क्या यह विभिन्न धागे के बीच उदाहरण का पुन: उपयोग करता है। –
जो मैं कह सकता हूं: हाँ, लेकिन एक ही समय में नहीं। एक अनुरोध आवेदन की अवधि के लिए दिए गए अनुरोध को एक Http आवेदन सौंपा गया प्रतीत होता है। – sblom
ठीक है, धन्यवाद। मैं तब तक इंतजार करूंगा जब तक कोई यह नहीं जानता कि यह वास्तव में पुष्टि करता है, क्योंकि मैं उस कोड का उत्पादन वातावरण में उपयोग करूंगा, और मुझे डीबग करना मुश्किल होगा। –