की आवश्यकता है IIS6 का उपयोग कर रहा हूं, मैंने एक HttpModule लिखा है, और मुझे यह त्रुटि मिलती है? वेब पर जाने के बाद मुझे लगता है कि यह समस्या .NET Framework 3.5 के कारण होती है, इसलिए मैंने इसे एक मशीन पर रखा जहां मैंने .NET 3.5 स्थापित नहीं किया था, लेकिन समस्या अभी भी है!आईआईएस 6 + एचटीपी मॉड्यूल: इस ऑपरेशन के लिए आईआईएस एकीकृत पाइपलाइन मोड
उत्तर
केवल आईआईएस 7 एकीकृत पाइपलाइन का समर्थन करता है। IIS7 पर एक HttpModule वेब सर्वर पर आने वाले सभी अनुरोधों में भाग ले सकता है न केवल विशिष्ट फ़ाइल एक्सटेंशन को लक्षित करने वाले।
II6 आईआईएस 7 क्लासिक पाइपलाइन को कॉल करता है, जहां एक एचटीपी मॉड्यूल केवल पहले आईएसएपीआई आधारित पाइपलाइन निर्धारित करता है कि स्क्रिप्ट मैपिंग को एएसपी.नेट को सौंपने के अनुरोध की आवश्यकता होती है।
मानसिक डिबगिंग पर मेरे प्रयास: आप की तरह एक कथन का उपयोग कर रहे हैं:
Response.Headers("X-Foo") = "bar"
अगर यह वास्तव में मामला है, जिन्हें आप नीचे समस्या को हल करने होंगे इस बदलते:
Response.AddHeader("X-Foo", "bar")
'प्रतिक्रिया होगी। हेडर। स्थान = नया उरी (...);' आईआईएस 6 तोड़ें और 500 'आंतरिक सर्वर त्रुटि' दें? – Blaise
बस इस समस्या में आया था। आईआईएस 6 और .NET 3.5 का उपयोग करना। मेरे लिए फिक्स Response.Headers.Add
के बजाय Response.AddHeader
का उपयोग करना था। HTH।
अन्य उत्तर से प्रेरित होकर, मैंने पाया है कि यह Response.Headers
वस्तु कि कारण बनता है "ऑपरेशन की आवश्यकता है पाइप लाइन मोड एकीकृत आईआईएस" अपवाद तक पहुँचने है।
बचें .Headers
और जैसे अन्य (पुराने?) सहायक कार्यों फोन: (! मेरे मामले में)
Response.AddHeader()
औरResponse.ClearHeaders()
आप अपने मॉड्यूल क्या कर रहा है पर विस्तृत सकता है? – AnthonyWJones
जांचें कि क्या उपयोगकर्ता का पासवर्ड अधिक है या नहीं, तो उसे बदलने के लिए मजबूर करें। – sdhjl2000
आपको यह कोड प्रदान करने की आवश्यकता है कि त्रुटि कहां होती है। –