2009-11-07 3 views
5

मैं विंडोज एक्सपी और विजुअल स्टूडियो 2008 (विजुअल स्टूडियो वेब सर्वर का उपयोग करके) पर एएसपी.नेट एमवीसी वेब ऐप विकसित कर रहा था। मैंने हाल ही में विंडोज 7 64 बिट अल्टीमेट संस्करण, आईआईएस 7.5 स्थापित किया है और appcmd का उपयोग करके अपना ऐप माइग्रेट किया है।मेरी साइट 32 बिट aspnet_filter.dll को लोड करने का प्रयास क्यों कर रही है, भले ही 'enable32BitAppOnWin64' गलत पर सेट हो?

यदि मैं अपने आवेदन पूल पर ध्वज enable32BitAppOnWin64 == false सेट करता हूं तो मेरा आवेदन ठीक काम करता है। जैसे ही मैं यह सच है (क्योंकि मैं इसे 64 बिट में चलाना चाहते हैं) करने के लिए सेट के रूप में यह इस अपवाद फेंकता है:

Screen Shot of error

HTTP Error 500.0 - Internal Server Error 
Calling LoadLibraryEx on ISAPI filter "C:\Windows\Microsoft.NET\Framework\v2.0.50727\\aspnet_filter.dll" failed 

अगर मैं जाने के लिए और सभी ISAPI फ़िल्टर को हटाएं लेकिन ASP.Net_2.0.50727-64 फिर छोड़ देते हैं इस त्रुटि दूर जाता है।

मैं इसे कैसे हल करूं?

+0

पर जवाब तुम कौन हो मोहित कर रहे हैं आप भारतीय संबंध अनिरुद्ध गुप्ता http://anirudhagupta.blogspot.com –

+0

हाँ अनिरुद्ध, मैं एक भारतीय ... – Mohit

उत्तर

2

ऐसा लगता है कि आपको कुछ 64 बिट ISAPI फ़िल्टर की आवश्यकता है।

32 बिट डीएलएल 64 बिट मशीन पर नहीं चलेंगे जबतक कि आप उन पर कुछ जादू पिक्सी धूल छिड़कते नहीं हैं। यही कारण है कि enable32BitAppOnWin64 ध्वज मौजूद है।

ध्वज को true पर सेट करें और पिक्सी धूल की महिमा में बेसक सेट करें।

+0

हूं लेकिन मुझे लगता है मैं 64 बिट ISAPI है फ़िल्टर जो मेरी फ्रेमवर्क 64 निर्देशिका में है, जो कि ASP.Net_2.0.50727-64 – Mohit

0

यह आपकी साइट के लिए हैंडलर मैपिंग preConditions जैसा लगता है। आईआईएस एमएमसी में साइट पर ब्राउज़ करें और हैंडलर मैपिंग सुविधा खोलें। दाईं ओर स्थित क्रिया फलक में, 'रीवर्ट टू पैरेंट' लिंक पर क्लिक करें।

3

आपका कुंजी पथ त्रुटि में उल्लेख किया है:

"C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_filter.dll"

सूचना वहाँ में एक अतिरिक्त स्लैश है राह। एक ऊंचा कमांड प्रॉम्प्ट पर, ../Framework/v2.0.50272 निर्देशिका पर जाएँ और निम्नलिखित कमांड चलाएँ:

aspent_regiis -r

वैकल्पिक रूप से, उपयोग फिल्टर का सही पथ को संशोधित करने IIS।

इसलिए कोई जादू धूल की आवश्यकता नहीं है ... आपको बस सही पथ पंजीकृत करने की आवश्यकता है। :)

+2

'aspnet_regiis -r' द्वारा मेरे लिए इस समस्या को ठीक करने के लिए पर्याप्त नहीं था, लेकिन 'aspnet_regiis -ua' (सभी asp.net ढांचे को अनइंस्टॉल करने के लिए) और फिर '-r' काम किया। हालांकि, आपको अपने 'अस्थायी एएसपी.नेट फाइलों' फ़ोल्डर पर अनुमतियों को ठीक करना पड़ सकता है। –

0

बस यह एक परियोजना परिनियोजन के साथ हुआ था। वेबसाइट के लिए एप्लिकेशन पूल बदलना चाल था। मिले Rick Strahl's weblog

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