मैं हाल ही में आईआईएस 7 में कुछ एएसपी.नेट एमवीसी 3 और 4 साइटों को दबा रहा हूं और इसमें बड़ी समस्याएं हैं। आम तौर पर फिक्स वेब पर निम्नलिखित शामिल करना है। कॉनफिगप्रबंधित मॉड्यूल क्या हैं?
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
मेरा प्रश्न है, क्यों? प्रबंधित मॉड्यूल क्या है और वे एएसपी.नेट एमवीसी/सी # के साथ कैसे काम करते हैं?
संपादित करें: आगे परीक्षण के बाद मुझे पता चला है कि यह समस्या सर्वर 2008 आर 2 और आईआईएस 7.5 पर मौजूद नहीं है लेकिन सवाल अभी भी खड़ा है, एक प्रबंधित मॉड्यूल क्या है और मुझे कैसे पता चलेगा कि मैं अपने में एक का उपयोग कर रहा हूं कोड?
आपको नहीं पता होगा। यह पहले से ही उन सभी का उपयोग करने के लिए क्यों सेट नहीं किया गया था? मुझे लगता है कि यह एक डिफ़ॉल्ट है। आपके द्वारा _except_ पोस्ट किए गए सभी परिवर्तनों को करने का प्रयास करें और देखें कि यह काम करता है या नहीं, फिर _only_ को बदलने का प्रयास करें और यह देखें कि यह काम करता है या नहीं। –
मेरे पास है, यह एकमात्र परिवर्तन है जो इसे काम करता है। और यह कम से कम 3 सर्वरों पर डिफ़ॉल्ट नहीं है जिसे मैंने साइट पर धक्का दिया है। यह निराशाजनक है क्योंकि कई डेवलपर्स इस बात पर विचार नहीं करते कि वे कोड लिखते समय किस तरह से बातचीत कर रहे हैं और गरीब sys व्यवस्थापक मेरे जैसे टुकड़े लेने और चीजों को दृश्य स्टूडियो के बाहर कहीं भी काम करने की कोशिश कर रहे हैं। आपको याद है कि हमारे पास शायद इन साइटों में से एक सौ साइटें हैं और जब तक हमारे डेवलपर्स एमवीसी 4 के बारे में सोचते हैं, तब तक इस समस्या को कभी नहीं मिला। – Preston
आईआईएस आमतौर पर कुछ मॉड्यूल के लिए यूआरएल एक्सटेंशन के आधार पर अनुरोधों को रूट करता है। उदाहरण के लिए, .aspx को IIRC, Aspnet_isapi.dll पर भेज दिया जाता है। लेकिन एमवीसी यूआरएल में एक्सटेंशन नहीं हैं। इसलिए, आपको यह सुनिश्चित करना होगा कि प्रबंधित मॉड्यूल को किसी भी यूआरएल पर कार्य करने का मौका मिले, न केवल अपेक्षित एक्सटेंशन वाले। 'runAllManagedModulesForAllRequests' एमवीसी रूटिंग मॉड्यूल को आपके एप्लिकेशन में परिभाषित किसी भी मार्ग से मेल खाने पर विस्तारित URL पर एक क्रैक प्राप्त करने देता है। याद रखें, आईआईएस 7 एक बड़ा बदलाव था, इसलिए आपको इसे मैन्युअल रूप से कॉन्फ़िगर करना पड़ा। 7.5 में इस आम समस्या के लिए एक फिक्स शामिल था। – Will