HTTP त्रुटि 500.19 और त्रुटि कोड: 0x80070021


219

मेरे पास विज़ुअल स्टूडियो 2013 द्वारा एक साधारण वेबएपीआई बिल्ड है। जब मैं इसे वीएस 13 से चलाता हूं तो यह अच्छी तरह से काम करता है लेकिन जब मैं स्थानीय आईआईएस में प्रोजेक्ट को कॉपी करता हूं तो यह मुझे निम्न त्रुटि देता है।

HTTP त्रुटि 500.19 - आंतरिक सर्वर त्रुटि अनुरोधित पृष्ठ तक नहीं पहुंचा जा सकता क्योंकि पृष्ठ के लिए संबंधित कॉन्फ़िगरेशन डेटा अमान्य है।

विस्तृत त्रुटि जानकारी:

मॉड्यूल IIS वेब कोर

अधिसूचना शुरुआती

हैंडलर अभी तक निर्धारित नहीं है

त्रुटि कोड 0x80070021

कॉन्फ़िगरेशन त्रुटि यह कॉन्फ़िगरेशन अनुभाग इस पथ पर उपयोग नहीं किया जा सकता है। यह तब होता है जब अनुभाग पैरेंट स्तर पर लॉक होता है। लॉकिंग या तो डिफ़ॉल्ट रूप से होती है (ओवरराइडोडोडेफ़ॉल्ट = "इनकार"), या ओवरराइडमोड = "इनकार" या विरासत के साथ स्थान टैग द्वारा स्पष्ट रूप से सेट किया जाता है।

फ़ाइल \ \? कॉन्फ़िगर करें : \ inetpub \ wwwroot \ APITeslin \ web.config

विन्यास स्रोत:

36:   <system.webServer>  
37:     <handlers>  
38:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

यह IIS में Windows प्रमाणीकरण अक्षम होने की संभावना है, लेकिन आपके एप्लिकेशन के web.config में आवश्यक है।
स्पेसबिसन


@SpaceBison मैं IIS8 में विंडो प्रमाणीकरण कैसे सक्षम कर सकता हूं?
उमर अब्बास

यहाँ मेरी webconfig फ़ाइल का लिंक है। icopter.co.uk/Webconfig.txt
उमर अब्बास

क्या आपने URL रीराइट मॉड्यूल का उपयोग करने पर विचार किया है?

जवाबों:


346

ठीक वैसी ही त्रुटि हुई और इस सवाल पर आई। जैसा कि @SpaceBison ने टिप्पणियों में उल्लेख किया है, यह उत्तर समाधान का वर्णन करता है - https://stackoverflow.com/a/12867753/404099 । मैंने इसे बहुत देर से देखा और यह कुछ चरणों को याद करता है। इसी से मेरा काम बना है:

विंडोज सर्वर 2012, आईआईएस 8.5 । अन्य संस्करणों के लिए भी काम करना चाहिए।

  • सर्वर मैनेजर पर जाएं, रोल्स और फीचर्स जोड़ें पर क्लिक करें
  • भूमिकाओं में अनुभाग चुनें: वेब सर्वर
    • सुरक्षा सब-सेक्शन के तहत सब कुछ चुनें (जैसा कि हम उनका उपयोग नहीं करते हैं, मैं पाचन, आईपी प्रतिबंध और URL प्राधिकरण को बाहर करता हूं)
    • अनुप्रयोग विकास के तहत .NET एक्स्टेंसिबिलिटी 4.5, ASP.NET 4.5 और ISAPI दोनों प्रविष्टियाँ चुनें
  • सुविधाएँ अनुभाग में चुनें: NET 3.5, .NET 4.5, ASP.NET 4.5
  • वेब सर्वर अनुभाग में: वेब सर्वर (सभी), प्रबंधन उपकरण (IIS प्रबंधन कंसोल और प्रबंधन सेवा), विंडोज प्रमाणीकरण - यदि आप इसका कोई उपयोग कर रहे हैं

13
सभी मुझे जोड़ना था AppDev अनुभाग और सुविधाएँ अनुभाग में .NET 4.5 आइटम। एक्स्टेंसिबिलिटी आइटम ने 2 ISAPI प्रविष्टियों को भी मजबूर किया।
बिल

वे कदम मुझे समस्या में मदद करते हैं। धन्यवाद।
प्यूल्स्क

अंत में, मेरी बीमारियों को हल करने का एक उपाय। धन्यवाद, यह समझ में आता है, और यह काफी सरल है। यह हमेशा इन दिनों गायब सुविधाओं और भूमिकाओं लगता है ...
अलेक्जेंड्रू

सर्वर मैन विंडोज 7 होम में उपलब्ध नहीं है, इसे कैसे ठीक करें?
knocte

1
@knocte - विंडोज 7 में आप "प्रोग्राम को अनइंस्टॉल या बदल सकते हैं" दर्ज कर सकते हैं और फिर "विंडोज सुविधाओं को चालू या बंद करें" पर हिट कर सकते हैं। यह सर्वर प्रबंधक के समान नहीं है, लेकिन आप IIS और संबंधित सुविधाओं को इस तरह से स्थापित कर सकते हैं।
इलिया बाराहोव्स्की

122

एक खाली ASP.NET अनुप्रयोग में WCF सेवा होस्ट करने का प्रयास करते समय मुझे यह त्रुटि मिली। संपूर्ण समाधान .NET 4.5 प्लेटफॉर्म का उपयोग कर रहा था, आईआईएस 8.5 पर विंडोज 8.1 पर चल रहा है। गोत्र को करना था

  1. "विंडोज सुविधाएँ चालू या बंद करें" खोलें

  2. ASP.NET 4.5 उन्नत सेवाओं के तहत WCF अनुभाग पर जाएं

  3. HTTP एक्टिवेशन चेक करें।

  4. आपको सिस्टम को पुनरारंभ करने के लिए कहा जाएगा।

    स्क्रीन शॉट

यह HTTP 500.19 को ठीक करना चाहिए!

EDIT 11-FEB-2016 को विंडोज 10 प्रो, IIS 10 पर एक मुद्दा मिला, इस बार, यह एक HTTP 404.0 था। फिक्स अभी भी समान है, विंडोज सुविधाओं के तहत "HTTP सक्रियण" चालू करें -> .NET फ्रेमवर्क 4.6 उन्नत सेवाएँ -> WCF सेवाएँ -> HTTP सक्रियण


बहुत बहुत धन्यवाद @dotnetguy! :-) यह मेरे लिए भी काम किया। त्रुटि तब आई जब मैंने Web API 2.2 और MVC को Empty ASP.NET एप्लिकेशन पर होस्ट करने का प्रयास किया।
गुरुसिंघ

@dotnetguy दृश्य स्टूडियो में अपने स्थानीय एमवीसी एप्लिकेशन के साथ काम करने के लिए IIS प्राप्त करने में सक्षम नहीं होने के बाद ठीक यही मेरी मदद करता है। बहुत बहुत धन्यवाद। HTTP सक्रियण यह है!
रेशमकीट

@silkfire को खुशी हुई कि इससे मदद मिली!
सुधांशु मिश्रा

@dotnetguy धन्यवाद
हेमांशु भल्ला

@dotnetguy को वही सटीक मुद्दा मिला और इसने इसे हल किया! आपका बहुत बहुत धन्यवाद! तुम सच में एक .नेट आदमी हो! : D
Rian

47

मुझे भी यही समस्या हो रही थी लेकिन आईआईएस और गूगल के साथ कई घंटों तक ब्रेन स्टॉर्मिंग के बाद। मुझे इसका हल पता चला। यह त्रुटि है क्योंकि कुछ सेटिंग्स IIS में अक्षम हैं applicationHost.config

नीचे समाधान के चरण दिए गए हैं:

  1. C:\Windows\System32\inetsrv\config\applicationHost.configनोटपैड में जाकर खोलें
  2. में मौजूद निम्न कुंजी मान को बदलें

    • <section name="handlers" overrideModeDefault="Deny" /> इस मान को "अनुमति" से "अनुमति दें" में बदलें

    • <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> इस मान को "अनुमति" से "अनुमति दें" में बदलें

इसने मेरे लिए काम किया।


2
धन्यवाद। इन चरणों को करने के बाद अगली त्रुटि दिखाई दी। मैं इसे यहाँ वर्णित की तरह हल कर सकता हूँ: stackoverflow.com/a/30594003/434742
जेनी ओ'रेली

31

यदि आप पहली बार उस कंप्यूटर पर IIS चला रहे हैं, तो आपको ASP.NET IIS पंजीकरण उपकरण (aspnet_regiis.exe) चलाने की कोशिश करनी चाहिए।

यहां बताया गया है कि ऐसा कैसे करें: यदि आप .net फ्रेमवर्क v4 का उपयोग कर रहे हैं, तो एक प्रशासक के रूप में कमांड प्रॉम्प्ट खोलें, और निर्देशिका का उपयोग करके अपने .net फ्रेमवर्क फ़ोल्डर में बदलें।

CD C:\Windows\Microsoft.NET\Framework\v4.0.30319

या, यदि आप 64 बिट कंप्यूटर का उपयोग कर रहे हैं, तो उपयोग करें:

CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319

जब आप उपयुक्त निर्देशिका में सफलतापूर्वक नेविगेट कर लेते हैं, तो ASP.NET IIS पंजीकरण उपकरण का उपयोग करके निष्पादित करें:

aspnet_regiis -i

यदि आप एक भिन्न .NET फ्रेमवर्क संस्करण का उपयोग कर रहे हैं, तो बस v4.0.30319उपयुक्त फ़ोल्डर नाम से बदलें ।

उम्मीद है की यह मदद करेगा।


मैं अपने iis सर्वर (वर्चुअल मशीन) पर दो अलग-अलग वीएस प्रोजेक्ट चलाने की कोशिश कर रहा हूं; एक काम करता है, एक नहीं करता है ... ऊपर वाले को पहले काम करने में मदद मिली; क्या कोई कारण है कि दूसरा काम नहीं करना चाहिए?
जोसेफडॉगी

7
मैंने अतीत में इस पद्धति का उपयोग किया था लेकिन अब विंडोज 8.1 पर Aspnet_regiis समर्थित नहीं है। 4.5 रजिस्टर करने के लिए प्रोग्राम्स और फीचर्स> विंडोज सुविधाओं को चालू या बंद करें> सूचना सूचना सेवा> वर्ल्ड वाइड वेब सर्विसेज> एप्लीकेशन डेवलपमेंट फीचर्स> ASP.NET 4.5 की जांच करें और जो भी आपकी आवश्यकता हो।
मास्टरवॉक

1
इसे व्यवस्थापक के रूप में चलाने की आवश्यकता है (cmd.exe आइकन पर राइट क्लिक करें -> व्यवस्थापक के रूप में चलाएं), और यहां तक ​​कि अगर यह ऑपरेशन के दौरान त्रुटियों का पता लगा सकता है (और लॉग फ़ाइल का उत्पादन करता है), तो यह मेरे लिए काम करता है!
knocte

2
Windows 8.1 (या Windows Server 2012) पर IIS 8.5 के लिए यह काम नहीं करता है। मुझे निम्न संकेत मिला: C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis.exe -i ASP.NET (4.0.30319.33440) स्थापित करना शुरू करें। यह विकल्प ऑपरेटिंग सिस्टम के इस संस्करण पर समर्थित नहीं है। व्यवस्थापकों को इसके बजाय ASP.NET 4.5 की स्थापना / स्थापना रद्द करनी चाहिए IIS8 के साथ "टर्न विंडोज फीचर्स ऑन / ऑफ" डायलॉग, सर्वर मैनेजर मैनेजमेंट टूल, या डीएसई। कमांड लाइन टूल का उपयोग करें।
सुधांशु मिश्रा

धन्यवाद!! यह मेरे लिए IIS 10 और विंडोज 10 :) के साथ काम करता है
Víctor Beltrán

22

मैंने निम्न कार्य करके इसे हल किया:

WebServer(ISS)->WebServer->Application Development
add .NET Extensibility 3.5
add .NET Extensibility 4.5
add ASP.NET 4.5
add ISAPI Extensions
add ISAPI Filters

यहां छवि विवरण दर्ज करें


10

विंडोज 8.1 पर, IIS 8.5 का मेरे लिए नियंत्रण कक्ष से 4.5 पंजीकरण करना था:

कार्यक्रम और सुविधाएँ> Windows सुविधाओं को चालू या बंद करें> सूचना सेवा सेवाएँ> वर्ल्ड वाइड वेब सेवाएँ> अनुप्रयोग विकास सुविधाएँ> ASP.NET 4.5 का चयन करें

ओके पर क्लिक करें।


3
विंडोज 10 के अंतर्गत 'ASP', ASP.NET.35 और 'ASP.NET 4.6' विकल्प थे। चेकिंग 4.6 ने मेरे लिए काम किया। धन्यवाद!
पीटरवर्मोंट

मुझे लगता है कि यह सबसे संक्षिप्त और समझने में आसान उत्तर है।
थीमफील्ड

4

जैसा कि त्रुटि में सुधार होता है - "यह तब होता है जब अनुभाग मूल स्तर पर लॉक हो जाता है"। अनुभाग को अनलॉक करने के लिए आप appcmd.exe का उपयोग कर सकते हैं और निम्नलिखित कमांड निष्पादित कर सकते हैं :

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers -commitpath:apphost

अनुभाग लॉकिंग के बारे में अधिक जानकारी के लिए और एक मूल कॉन्फ़िगरेशन संदर्भ IIS दस्तावेज़ीकरण के लिए क्या है


4

हमारे मामले में, हम काफी दिनों तक इस त्रुटि से जूझते रहे। यह पता चलता है कि नियंत्रण कक्ष, कार्यक्रमों में, बारी बारी से या बंद खिड़कियों की सुविधा है।

हमने इंटरनेट सूचना सेवाओं, विश्व व्यापी वेब सेवाओं, अनुप्रयोग विकास सुविधाओं का चयन किया और वहां हम अपने विकास पर्यावरण से जुड़ी सुविधाओं के समूह की जाँच करते हैं। उदाहरण के लिए: ASP.NET 4.6। .NET एक्स्टेंसिबिलिटी 4.6, आदि।

यह काम करता हैं!


1
इससे मेरा मुद्दा भी ठीक हो गया। तो मुद्दा आखिरकार यह था कि मेरी स्थानीय मशीन में आईआईएस जोड़ने के बाद, मैंने उचित सुविधाओं के लिए सक्षम नहीं किया। इससे इसका समाधान हुआ। Thnks।
जुकर j

3

संबंधित IIS (7.5) कॉन्फ़िगरेशन सेटिंग्स को सर्वर स्तर पर अनलॉक करने का प्रयास करें, इस प्रकार है:

  1. IIS प्रबंधक खोलें
  2. कनेक्शन फलक में सर्वर का चयन करें
  3. मुख्य फलक में कॉन्फ़िगरेशन संपादक खोलें
  4. अनुभाग ड्रॉप-डाउन में, अनलॉक करने के लिए अनुभाग चुनें, जैसे system.webServer> defaultPath
  5. दाएँ फलक में अनलॉक विशेषता पर क्लिक करें
  6. किसी भी अन्य सेटिंग्स के लिए दोहराएं जिन्हें आपको अनलॉक करने की आवश्यकता है
  7. IIS को पुनरारंभ करें (वैकल्पिक) - कनेक्शंस फलक में सर्वर का चयन करें, क्रिया फलक में पुनरारंभ करें पर क्लिक करें

यह लगभग मददगार है, लेकिन IIS 7 में system.webServer के तहत कोई "डिफ़ॉल्टपाठ" नहीं है
13

इसके द्वारा उसका मतलब है कि अगर आप विंडोज ऑथेंटिकेशन को अपडेट करना चाहते हैं तो आपको यह सिस्टम system.webServer -> सिक्योरिटी -> ऑथेंटिकेशन में मिल जाएगा।
मिडो

3

मेरे मामले में, IIS URL पुनर्लेखन मॉड्यूल के नियम थे लेकिन मेरे पास वह मॉड्यूल स्थापित नहीं था। यदि आपके कोई मॉड्यूल शामिल हैं लेकिन स्थापित नहीं हैं, तो आपको अपने web.config की जांच करनी चाहिए।


1
बस जरूरत है बाकी सब कुछ स्थापित, लेकिन अभी भी यह काम करने के लिए नहीं मिला। फिर, मैंने अभी URL रिवाइटर मॉड्यूल स्थापित किया है, और इसे काम कर रहा हूं! धन्यवाद!
विटॉक्स

यदि URL रिवाइटर मॉड्यूल गायब है, तो त्रुटि कोड 0x80070021 नहीं होगा।
लेक्स ली

3

अगर यह विंडोज़ 10 है तो व्यवस्थापक के रूप में पॉवरशेल खोलें और निम्न कमांड चलाएँ:

dism /online /enable-feature /all /featurename:IIS-ASPNET45

1

आपका web.config वर्णन करता है कि आप प्रपत्र प्रमाणीकरण का उपयोग कर रहे हैं - सुनिश्चित करें कि आप प्रपत्र प्रमाणीकरण सक्षम करें और IIS में चल रही वेबसाइट के लिए प्रमाणीकरण मेनू के अंतर्गत IIS में अनाम प्रमाणीकरण अक्षम करें।



0

ठीक है, हम अमेज़न वेब सेवाओं का उपयोग कर रहे हैं और इसलिए हम इस समस्या से निपटने के लिए स्क्रिप्ट और कार्यक्रमों का उपयोग करना चाह रहे हैं। इसलिए मैं एक कमांड लाइन टूल के शिकार पर रहा हूं। इसलिए पहले मैंने दौड़ने की कोशिश की

c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

लेकिन क्योंकि मैं एक क्लाउड आधारित विंडोज सर्वर 2012 चला रहा हूं जिसकी उसने शिकायत की थी

This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlink/?LinkID=216771.

और मैंने Googled और आधिकारिक Microsoft समर्थन पृष्ठ KB2736284 पाया । तो एक कमांड लाइन टूल है dism.exe। इसलिए मैंने निम्नलिखित प्रयास किया

dism /online /enable-feature /featurename:IIS-ASPNET45

लेकिन इसने शिकायत की और प्रयास करने के लिए करतब करने वालों की एक सूची दी, इसलिए मैंने उन्हें एक-एक करके कोशिश की और मैंने प्रत्येक के बाद अपने वेबएपीआई वेबपृष्ठ का परीक्षण किया और यह सूची में नीचे के एक के बाद काम किया।

dism /online /enable-feature /featurename:IIS-ApplicationDevelopment
dism /online /enable-feature /featurename:IIS-ISAPIFilter 
dism /online /enable-feature /featurename:IIS-ISAPIExtensions 
dism /online /enable-feature /featurename:IIS-NetFxExtensibility45 

और इसलिए अब मैं अपनी वेबएपीआई साइट पर ब्राउज़ कर सकता हूं और एपीआई जानकारी देख सकता हूं। कि कुछ लोगों की मदद करनी चाहिए। [हालांकि, मैं अभी पूरी तरह से खुद जंगल से बाहर नहीं हूं और मैं बॉक्स के बाहर से वेबसाइट तक नहीं पहुंच सकता। अभी तक उस पर कार्य कर रहा हूं।]

साथ ही, मैंने अन्य लोगों की प्रतिक्रियाओं के बाद कुछ पहले कदम उठाए। मैं पुष्टि कर सकता हूं कि निम्नलिखित फ़ीचर प्रतिनिधिमंडल को बदलने की आवश्यकता है (हालांकि मैं इन के लिए कमांड लाइन टूल खोजना चाहूंगा)।

In Feature delegation

Change 
'Handler Mappings' from Read Only to Read/Write

Change 
'Modules' from Read Only to Read/Write

Change 
'SSL Settings' from Read Only to Read/Write

-1

जांचें कि क्या आईआईएस सर्वर ने यूआरएल को फिर से लिखने की सुविधा स्थापित की है।
यदि यह स्थापित नहीं है, तो सुनिश्चित करें कि आपकी web.config फ़ाइल में URL संबंधित कॉन्फ़िगरेशन को फिर से लिखना नहीं है

<!-- Make sure don't have below config, if server have not installed url rewrite feature. -->
<rewrite>
  <rules>
    <rule name="Fail bad requests">
      <match url=".*"/> ...

कुछ समय के लिए हमने लीगेसी सर्वर से कॉन्फिग को कॉपी किया और सीधे नए ब्रैंड सर्वर पर तैनात किया, फिर हम इस तरह के 500 इशू कर सकते हैं।


यदि URL रीराइट छूटा हुआ है, तो त्रुटि कोड 0x80070021 नहीं होगा।
लेक्स ली


-3

मेरे लिए काम करने वाला समाधान मेरे वर्तमान Web.config को हटाना और एक नया जोड़ना था। इससे मेरे लिए समस्या हल हो गई


6
एक नई web.config बनाने की तुलना में मेरी नौकरी से इस्तीफा देना आसान है। कभी भी ऐसा करने की कोशिश न करें।
Shadi Namrouti
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.