2012-11-20 10 views
25

मैंने रेज़र इंजन का उपयोग कर .NET 4.5 के साथ एक एमवीसी 4 एप्लीकेशन बनाया। दृश्य स्टूडियो के साथ स्थानीय रूप से चलाने पर यह ठीक काम करता है।HTTP त्रुटि 403.14 - निषिद्ध - एमवीसी 4 .नेट 4.5 बंडल

जब मैं विंडोज सर्वर 2008 आर 2 (सभी विंडोज अपडेट किए गए) पर आईआईएस पर तैनात करता हूं, तो ऐसा लगता है कि मेरे बंडल काम नहीं करते हैं और सीसीएस लोड नहीं हो रहा है। मैं सर्वर पर साइट को देखने, देखी स्रोत सीएसएस के लिए बंडल लिंक के लिए गया था की कोशिश की, और यह कुछ सीएसएस लोड करता है और फिर वहाँ के एक आईआईएस त्रुटि है:

HTTP त्रुटि 403.14 - निषिद्ध वेब सर्वर कॉन्फ़िगर किया गया है पर इस निर्देशिका की सामग्री सूचीबद्ध करें।

मैं क्या कोशिश की है:

1) यह सुनिश्चित किया .net 4.5 स्थापित किया गया है।
2) मेरी web.config
3) cmd
4 में %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir Ran को <modules runAllManagedModulesForAllRequests="true"/> जोड़ा) की जाँच की है कि मेरे ऐप पूल मोड
5 एकीकृत करने के लिए स्थापित किया गया था) की जाँच की यह .net 4

+0

उस फ़ोल्डर पर अनुमतियां क्या हैं जिनसे आप संपत्तियां दे रहे हैं? –

+0

@ जॉन एप्लिकेशन पूल और आईएसयूएसआर दोनों में फ़ोल्डर पर अनुमतियां पढ़ी गई हैं। – Kyle

+0

क्या आप बंडल कोड दिखा सकते हैं? क्या आपने जांच की है कि संकलन डीबग सही लक्ष्य ढांचे के साथ गलत है? – Yogiraj

उत्तर

43

उपयोग करने के लिए सेट है कि आपको अपना उत्तर यहां मिलेगा: ASP.NET MVC framework 4.5 CSS bundles does not work on the hosting

संक्षिप्त उत्तर यह सुनिश्चित करना है कि आपके बंडल नाम आपकी साइट के पथों के नाम से संघर्ष न करें।

+3

ने मुझे निश्चित रूप से बहुत समय बचाया ... यह मेरी समस्या को ठीक करता है, मेरा "~/सामग्री/टेम्पलेट" बंडल मेरे भौतिक फ़ोल्डर से विरोधाभासी था। मुझे बस इतना करना था कि मेरे बंडल के नाम का नाम बदलना पड़े। – covo

+0

खुशी हुई मेरे जवाब ने आपकी मदद की। इसने मुझे एक घंटे दोपहर के लिए पागल कर दिया !! –

+0

धन्यवाद। तुमने भी मेरी मदद की! बीटीडब्ल्यू, क्या आप जानते हैं कि यह केवल सीएसएस बंडलों के साथ क्यों होता है? मेरे पास जेएस बंडलों में एक ही कॉन्फ़िगर है और यह ठीक काम करता है। –

2

सुनिश्चित करें कि आपके web.config में आपने अपने "आभासी" बंडल पथों तक अनाम पहुंच को सक्षम कर दिया है।

उदाहरण के लिए, यदि आपकी स्टाइल बंडल "~/content/blahblah" की तरह हैं और आपके जावास्क्रिप्ट बंडल "~/स्क्रिप्ट/ब्लाब्लाह" की तरह हैं, तो आपको इस तरह की सामग्री "सामग्री" और "स्क्रिप्ट" स्थानों में अनामित एक्सेस खोलनी होगी अपने web.config:

<configuration> 
... 
<location path="content"> 
    <system.web> 
    <authorization> 
    <allow users="?" /> 
    </authorization> 
    </system.web> 
</location> 

<location path="scripts"> 
    <system.web> 
    <authorization> 
    <allow users="?" /> 
    </authorization> 
    </system.web> 
</location> 
... 
</configuration> 

इस तरह, आभासी पथ "~/सामग्री" या "~/लिपियों" किसी भी उपयोगकर्ता द्वारा लिए किसी भी अनुरोध को मान लिया जाएगा, और सीएसएस और जे एस अनुरोध परोसा जाएगा।

7

यह मेरे लिए इसे हल (समाधान MVC4 HTTP Error 403.14 - Forbidden से है)

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 
+6

हालांकि यह समस्या को हल कर सकता है, यह रॉकेट लॉन्चर के साथ एक फ्लाई को मारने जैसा है। 'runAllManagedModulesForAllRequests' में आपकी साइट पर प्रदर्शन प्रभाव पड़ता है, क्योंकि सभी प्रबंधित मॉड्यूल सभी अनुरोधों के लिए चलाए जाएंगे, जिसमें छवियों जैसी स्थिर फ़ाइलों के अनुरोध शामिल हैं। –

1

एक अन्य संभावित समस्या यह है कि 403.14 का कारण बनता है Global.asax है और/या web.config अपने प्रकाशन की सेटिंग में या कॉपी नहीं किया जा रहा तैनाती।

+0

धन्यवाद, इसने मुझे इस मुद्दे को हल करने में मदद की। दरअसल मेरे लिए 'App_global.asax.compiled' फ़ाइल गायब थी! – Salar

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