ปัญหาเว็บแอปพลิเคชัน (ข้อผิดพลาด web.config) HTTP 500.19 พร้อม IIS7.5 และ ASP.NET v2


146

นี่คือการผลักดันทั้งทีมให้บ้าคลั่ง จะต้องมีส่วนกำหนดค่าผิดพลาดอย่างง่าย ๆ ของ IIS หรือเว็บเซิร์ฟเวอร์ของเรา แต่ทุกครั้งที่เราพยายามเรียกใช้ ASP.NET Web Application บน IIS 7.5 เราจะได้รับข้อผิดพลาดดังต่อไปนี้ ...

นี่คือข้อผิดพลาดเต็ม:

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration  
data for the page is invalid.

`Detailed Error Information` 
Module              IIS Web Core
Notification        Unknown
Handler             Not yet determined
Error Code          0x8007000d
Config Error
Config File         \\?\E:\wwwroot\web.config
Requested URL       http://localhost:80/Default.aspx
Physical Path 
Logon Method        Not yet determined
Logon User          Not yet determined
Config Source
   -1: 
    0: 

เครื่องจะทำงานWindows Server 2008 R2 เรากำลังพัฒนาแอพลิเคชันเว็บของเราโดยใช้Visual Studio 2008

ตาม Microsoft รหัส 8007000d หมายความว่ามีข้อผิดพลาดทางไวยากรณ์ใน web.config ของเรา - ยกเว้นโครงการสร้างและทำงานได้ดีในท้องถิ่น การดู web.config ใน XML Notepad จะไม่ทำให้เกิดข้อผิดพลาดทางไวยากรณ์เช่นกัน ฉันสมมติว่ามันต้องมีการปรับแต่งที่ไม่ดีในส่วนของฉัน ... ?

ไม่มีใครรู้ว่าฉันอาจหาข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดได้ที่ไหน ไม่มีอะไรแสดงใน EventViewer เช่น :(

ไม่แน่ใจว่าจะมีประโยชน์อะไรที่จะพูดถึง ...

ความช่วยเหลือชื่นชมอย่างมาก ขอบคุณ!

ปรับปรุง! - เว็บโพสต์ CONFIG ด้านล่าง

ตกลงตั้งแต่ฉันโพสต์คำถามต้นฉบับด้านบนฉันได้ติดตามบรรทัดที่แม่นยำในweb.configที่ทำให้เกิดข้อผิดพลาด

นี่คือบรรทัด (ปรากฏขึ้นระหว่าง<System.webServer>แท็ก) ...

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpHandlers>

หมายเหตุ: หากฉันลบเส้นระหว่าง<httpHandlers>ฉันยังคงได้รับข้อผิดพลาด ฉันต้องลบ<httpHandlers>(และเส้นตรง) เพื่อหยุดรับข้อผิดพลาดด้านบน

เมื่อฉันทำสิ่งนี้เสร็จฉันจะได้รับข้อผิดพลาด 500.19 ใหม่ โชคดีที่เวลานี้ IIS แจ้งให้ฉันทราบว่าบิตของ web.config ก่อให้เกิดปัญหา ...

    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>

เมื่อดูที่บรรทัดเหล่านี้จะเห็นได้ชัดว่าปัญหาได้ถูกโยกย้ายเพิ่มเติมภายใน<system.webServer>แท็กเดียวกันกับ<handlers>แท็ก

ข้อผิดพลาดใหม่นั้นมีความชัดเจนมากขึ้นและบ่นโดยเฉพาะว่ามันไม่รู้จักแอตทริบิวต์ "ตรวจสอบ" (ดังที่เห็นในบรรทัดที่สามด้านบน) การลบแอททริบิวนี้ทำให้บ่นว่าบรรทัดเดียวกันไม่มีแอททริบิวต์ "name" ที่จำเป็น การเพิ่มคุณสมบัตินี้จะทำให้เกิดข้อผิดพลาดASP.NET ...

ไม่สามารถโหลดไฟล์หรือชุดประกอบ 'System.web.Extensions, รุ่น = 1.0.61025.0, วัฒนธรรม = เป็นกลาง, PublicKeyToken = f2cb5667dc123a56' หรือการอ้างอิงอย่างใดอย่างหนึ่ง ระบบไม่พบแฟ้มที่ระบุ.

เห็นได้ชัดว่าฉันคิดว่าข้อผิดพลาดใหม่เหล่านี้เพิ่งเกิดขึ้นจากฉันลบ<httpHandlers>แท็กในตอนแรก - พวกเขาต้องการแอปพลิเคชันอย่างเห็นได้ชัดดังนั้นคำถามยังคงอยู่: ทำไมแท็กเหล่านี้จะเกิดข้อผิดพลาดใน IIS ตั้งแต่แรก ??

ฉันจำเป็นต้องติดตั้งบางอย่างใน IIS เพื่อให้ทำงานได้หรือไม่

ขอบคุณอีกครั้งสำหรับความช่วยเหลือ

web.config

นี่คือบิตของปัญหาบนเว็บของเรากำหนดค่า ... ฉันหวังว่านี่จะช่วยให้บางคนพบปัญหาของเรา!

<system.Web>

<!-- stuff cut out -->

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpModules>
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </modules>
    <remove verb="*" path="*.asmx"/>
    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>
</system.webServer>

web.configลบความคิดเห็นทั้งหมดใน พวกเขาเริ่มต้นด้วยและจบลงด้วยการ<!-- -->
Alex Bagnolini

woot เป็นสิ่งที่จะทำอย่างไรกับ <httpHandlers>
Chuck Le Butt

สิ่งนี้ทำงานในโหมดรวมหรือไม่ ถ้าเป็นเช่นนั้นลองโหมดคลาสสิก
Jeremy McGee

@Alex - ฉันลบความคิดเห็นทั้งหมดออกไปมันไม่ได้ช่วยอะไร ขอบคุณสำหรับคำแนะนำแม้ว่า
Chuck Le Butt

@ Joe ฉันไม่คิดว่าฉันจะโพสต์ทั้งเว็บกำหนดค่า อาจจะไม่ฉลาด ... : - /
Chuck Le Butt

คำตอบ:


263

ฉันมีอาการที่แน่นอนเหล่านี้และปัญหาของฉันก็คล้ายกับของปีเตอร์ กำลังตั้งค่าโครงการที่มีอยู่บนเซิร์ฟเวอร์ใหม่ โครงการของฉันอ้างอิงโมดูลการเขียนซ้ำ URL IIS7 แต่ยังไม่ได้ติดตั้งบนเซิร์ฟเวอร์ใหม่ การติดตั้งแก้ไขปัญหาของฉันได้

คุณสามารถใช้Microsoft Web Platform Installerเพื่อติดตั้ง ดำเนินการเลือกผลิตภัณฑ์ในเมนูด้านซ้ายเลือกเซิร์ฟเวอร์และค้นหาURL Rewriteในรายการและติดตั้ง

หรือคุณสามารถดาวน์โหลดได้ที่นี่


2
> ฉันมีอาการที่แน่นอนเหล่านี้และปัญหาของฉันก็คล้ายกับของปีเตอร์ กำลังตั้งค่าโครงการที่มีอยู่บนเซิร์ฟเวอร์ใหม่ โครงการของฉันอ้างอิงโมดูลการเขียนซ้ำ URL IIS7 แต่ยังไม่ได้ติดตั้งบนเซิร์ฟเวอร์ใหม่ การติดตั้งแก้ไขปัญหาของฉันได้ ขอบคุณ DJjeffJ แก้ไขให้ฉัน โมดูล URL rewirte บนเซิร์ฟเวอร์ dev ไม่ได้ติดตั้ง
jk

1
ใช่ ... ฉันด้วยฉันมี. net 3.5 ดังนั้น ajax จึงรวมอยู่ด้วย แต่การเขียนใหม่ไม่ได้
WildJoe

3
โมดูล IIS URL Rewrite มีอยู่ในเว็บไซต์
Uwe Keim

5
4 ปีและสิ่งนี้ยังคงเป็นปัญหาอยู่ ไม่มีข้อผิดพลาดใด ๆ ในการนำเสนอแหล่งที่มาของปัญหา ฉันก็กำลังย้ายโซลูชันที่มีอยู่ไปยังเซิร์ฟเวอร์ใหม่ที่ยังไม่มีโมดูลและมันก็เป็นเพียงโอกาสที่ฉันสะดุดในคำตอบนี้ดังนั้นขอบคุณมัดฉันฉีกผมออก!
ProNotion

4
ปัญหาดำเนินต่อกับ Server 2016 ไม่มีคุณลักษณะ / โมดูลที่จะติดตั้งที่ระบุว่า "URL Rewrite" คุณต้องใช้เพื่อติดตั้งและหลังจากนั้นเว็บไซต์ของฉันทำงาน (หรืออย่างน้อยก็หยุดให้ปัญหานั้น)
Rob

41

หลังจากต่อสู้กับสิ่งนี้เป็นเวลาหนึ่งวันในเครื่องใหม่ฉันก็เจอลิงค์ต่อไปนี้ ฉันพลาดโมดูลการเขียนใหม่ สิ่งนี้แก้ไขทุกอย่าง

http://forums.iis.net/t/1176834.aspx

http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/


1
+1 web.config ที่ฉันคว้ามาจาก TFS มี<rewrite>แท็ก แต่ฉันไม่ได้ติดตั้ง urlrewrite ฉันแสดงความคิดเห็นกับ<rewrite>สิ่งต่างๆและเว็บไซต์ของฉันรวบรวมและโหลดได้ทันที
Pete

1
ใช้เวลาหนึ่งชั่วโมงในการจำฉันใช้เขียนใหม่ในเว็บไซต์ ฉันหวังว่า microsoft จะมีระบบข้อความแสดงข้อผิดพลาดที่ดีขึ้น ฉันจะแก้ปัญหาในไม่กี่นาทีถ้าฉันเห็นบรรทัดที่แน่นอนของ web.config
dvdmn

คุณติดตั้ง Url Rewrite ใน Visual Studio สำหรับ IIS Express ได้อย่างไร
Dima

40

Aha! ฉันเอาชนะปัญหานี้! พระเจ้าของฉันมันเป็นสัตว์ร้ายสำหรับคนอย่างฉันที่มีประสบการณ์ IIS จำกัด ฉันคิดว่าฉันจะต้องใช้เวลาตลอดทั้งวันในการแก้ไขมัน

นี่คือทางออกสำหรับทุกคนที่เคยมีปัญหาความชั่วร้ายนี้มาก่อน

สิ่งแรกที่จะตระหนักถึง: ถ้าคุณหวังนี้เป็นวิธีการแก้ของคุณให้แน่ใจว่าคุณมีข้อผิดพลาดเดียวกันรหัส ( 0x8007000d ) และการกำหนดค่าที่มา ( -1: 0: ) ถ้าไม่ใช่นี่ไม่ใช่ทางออกของคุณ

สิ่งต่อไปที่ควรระวัง: AJAX ติดตั้งไม่ถูกต้องใน web.config ของคุณ!

แก้ไขโดยทำตามคำแนะนำนี้:
http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx

จากนั้นติดตั้งส่วนขยาย AJAX 1.0บนเซิร์ฟเวอร์ที่ใช้งานจริงของคุณจากลิงก์นี้:

http://www.asp.net/ajax/downloads/archive/
อัปเดต : Microsoft ดูเหมือนจะลบหน้าเว็บด้านบนออก :(

แค่นั้นแหละ!


1
ขอบคุณ! ส่วนขยาย AJAX เป็นปัญหา ฉันแสดงความคิดเห็นในส่วนที่ออกมาตั้งแต่ AJAX ตอนนี้สร้างขึ้นใน 3.5
jdiaz

1
ดูเหมือนว่า Microsoft จะหักลิงค์แรกที่กำหนดค่า ASP.NET AJAX
Rob Sobers

1
พบกระจกเงาของเนื้อหาเก่า น่ารำคาญที่เอกสาร MS หายไปบ่อยมาก
Chuck Le Butt

4
คำตอบของคุณแนะนำว่าข้อผิดพลาดนี้ใช้สำหรับ Ajax เท่านั้น แต่ใช้กับ urlrewrite ซึ่งหมายความว่าข้อผิดพลาดน่าจะหมายถึงข้อเสนอแนะใด ๆ ที่ขึ้นอยู่กับโมดูลที่ไม่พร้อมใช้งาน
rainabba

@ ชัค"ฉันรู้สึกเหมือนร็อคกี้"หมายความว่าอะไร?
Pacerier

16

ปัญหาเดียวกันในข้อผิดพลาด Server 2016, IIS 10, 500.19 ฉันติดตั้งโมดูลการเปลี่ยนเส้นทางและใช้งานได้ ฉันไม่รู้ว่าทำไมไม่รวมอยู่ในค่าเริ่มต้น

https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

เพื่อความชัดเจนดูเหมือนว่า web.config จาก IIS 7 จะทำงานหรือถูกออกแบบมาให้ทำงาน แต่การขาดโมดูลนี้จะทำให้เกิดข้อผิดพลาดที่แปลกและไม่มีประโยชน์จริง ๆ Googling จะนำคุณไปยังหน้า Microsoft ซึ่งยืนยันว่าไซต์ของคุณเสียหายหรือ web.config ของคุณเสียหาย ดูเหมือนจะไม่เป็นอย่างนั้น

เพจที่ไม่ช่วยเหลือนั้นอยู่ที่นี่: https://support.microsoft.com/en-us/kb/942055


12

พบปัญหาเดียวกันกับข้างบนรหัสข้อผิดพลาดเดียวกัน ฯลฯ การตั้งค่าเว็บไซต์ท้องถิ่นใน Windows 8 หลังจากค้นหามากพบว่าเราขาดการเขียน URL ใหม่ หลังจากดาวน์โหลดทุกอย่างเรียบร้อยดี :)


ผู้ชายที่คุณช่วยฉันเวลาเยอะ ... Nice !!
PhillyNJ

ในทำนองเดียวกันข้อความแสดงข้อผิดพลาดนี้ไม่ช่วยเหลืออย่างสมบูรณ์ !
Ken Keenan

8

ฉันเพิ่งเพิ่มคำตอบเพราะฉันใช้เวลาหลายชั่วโมงพยายามที่จะแก้อาการเดียวกัน (แต่ปัญหาที่แตกต่าง):

สาเหตุที่เป็นไปได้คือ x86 dll ในกลุ่มแอพ 64 บิตวิธีแก้ปัญหาคือการเปิดใช้งานแอพ 32 บิตในการตั้งค่ากลุ่มแอพพลิเคชั่น


คำตอบนี้ใช้ได้สำหรับข้อผิดพลาด 500.19 ในระหว่างการตั้งค่า Umbraco CMS เช่นกัน
aron.lakatos

4

สำหรับฉันแล้วการลงทะเบียน asp.net อีกครั้งสำหรับ iis นั้นเป็นการหลอกลวง หวังว่าจะช่วยคนอื่นได้

aspnet_regiis.exe -i

4

ในการสรุปตามคำตอบที่นี่และที่อื่น ๆ :

  1. ตรวจสอบพูล. เวอร์ชัน. NET (เช่น 2.0 กับ 4.0)
  2. ตรวจสอบว่ามีการติดตั้งโมดูลอ้างอิง IIS ทั้งหมด ในกรณีนี้เป็นส่วนขยายของ AJAX (อาจไม่ใช่ในทุกวันนี้) แต่การเขียน URL ใหม่นั้นเป็นเรื่องธรรมดา

4

อีกวิธีหนึ่งในการรับ 500.19 errot โดยไม่มีเหตุผลที่ชัดเจนคือ - ไม่มีไดเรกทอรีและ / หรือสิทธิ์ที่แตกหัก

ในกรณีของคำถามนี้ฉันเชื่อว่าคำถามถามเกี่ยวกับ IIS เวอร์ชันเต็ม ฉันถือว่านี่เป็นเพราะสายนี้:

Config File         \\?\E:\wwwroot\web.config

โดยปกติตัวติดตั้ง IIS จะสร้างwwwrootสำหรับคุณและเป็นโฟลเดอร์เริ่มต้นสำหรับทุกเว็บไซต์และจุดเชื่อมต่อสำหรับไดเรกทอรีเสมือน มันมีอยู่เสมอดังนั้นจึงไม่มีปัญหาคุณมักไม่ค่อยสนใจเรื่องนั้นมากนัก

เนื่องจากไฟล์ web.config นั้นเป็นแบบลำดับชั้นคุณสามารถวางไฟล์ web.config หลักไว้ที่นั่นและมีการตั้งค่ารูทบางส่วนและไซต์ทั้งหมดจะรับช่วงมา IIS ตรวจสอบว่ามีไฟล์นั้นอยู่หรือไม่และพยายามโหลด

อย่างไรก็ตามส่วนแรกที่สนุก:

ไดเรกทอรีนี้จะมีอยู่หากคุณติดตั้ง IIS อย่างถูกต้อง หากไม่มีอยู่คุณจะได้รับข้อผิดพลาด 500 ระดับ อย่างไรก็ตามหากคุณเล่นด้วยการอนุญาตของไฟล์ / ไดเรกทอรีโดยเฉพาะอย่างยิ่ง 'ขั้นสูง' คุณสามารถปฏิเสธบัญชีบริการ IIS โดยไม่ได้ตั้งใจจากการสแกน / อ่านเนื้อหาของไดเรกทอรีนี้ หาก IIS ไม่สามารถตรวจสอบได้ว่ามี wwwroot \ web.config หรือไม่ถ้ามีอยู่และ IIS ไม่สามารถเปิดและอ่านได้ - แบม - ข้อผิดพลาด 500 คลาส

อย่างไรก็ตามสำหรับ IIS แบบเต็มมันไม่น่าเป็นไปได้มาก นักพัฒนา / ผู้ดูแลระบบที่ทำงานกับ IIS แบบเต็มมักลังเลที่จะเล่นด้วยwwwrootดังนั้นจึงมักจะมีการกำหนดค่าอย่างเหมาะสม

อย่างไรก็ตามใน IIS Express ..

โดยปกติแล้ว IIS Express "ใช้งานได้" บ่อยครั้งที่นักพัฒนาที่ใช้ IIS Express มักไม่ทราบว่ามีลักษณะคล้ายกับ IIS จริงภายในเท่าใด

คุณสามารถสะดุดกับความจริงที่ว่า IIS Express มีไฟล์ applicationHost.config ของตัวเองและ VS สร้างและจัดการให้คุณ (อย่างถูกต้องในระดับหนึ่ง) และผู้ที่เปิดตานั้นบอกคุณว่ามันไม่ง่ายและมีจุด - และคลิกตามที่ปรากฏในตอนแรก

นอกเหนือจากไฟล์ปรับแต่งแล้ว VisualStudio ยังสร้างโครงสร้างไดเรกทอรีว่างเปล่าภายใต้Documentsโฟลเดอร์ของคุณ ถ้าฉันจำได้อย่างถูกต้อง IIS Express จะถือว่าโฟลเดอร์เหล่านี้เป็นไดเรกทอรีรากของเว็บไซต์ของคุณซึ่งมีการติดตั้งไดเรกทอรีเสมือนกับรหัสของคุณ

ในภายหลังเช่นเดียวกับ IIS เมื่อ IIS Express เริ่มต้นขึ้นคาดว่าโฟลเดอร์เหล่านี้จะมีอยู่และตรวจสอบไฟล์ root web.config ที่นั่น เว็บไซต์ web.configไฟล์ เกือบตลอดเวลาไฟล์ web.config เหล่านี้หายไป - และก็ไม่เป็นไรเพราะคุณไม่ต้องการพวกเขา - คุณมีแอปพลิเคชัน web.config ของคุณ ** ไฟล์เหล่านี้จะถูกวางไว้กับเนื้อหาส่วนที่เหลือในไดเรกทอรีเสมือน

ตอนนี้ส่วนที่สองคือความสนุก: IIS Express คาดว่าไดเรกทอรีที่ว่างเปล่า พวกเขาสามารถว่างเปล่า แต่พวกเขาจำเป็นต้องมีอยู่ หากไม่มีอยู่ - คุณจะได้รับข้อผิดพลาด 500 ระดับที่แจ้งให้คุณทราบว่าไฟล์ "web.config" ที่พา ธ นั้นไม่สามารถเข้าถึงได้

ครั้งแรกที่ฉันเจอปัญหานี้คือเมื่อฉันล้างฮาร์ดไดรฟ์ของฉัน ฉันพบว่าโฟลเดอร์ 'Documents \ sites' เต็มไปด้วยถังขยะฉันจำโครงการหลายปีที่ฉันไม่ทำงานอีกต่อไปทั้งหมดว่างเปล่าไม่ใช่ไฟล์เดียวดังนั้นฉันจึงลบทั้งหมด หนึ่งสัปดาห์ต่อมา - บำ - ฉันไม่สามารถเรียกใช้ / แก้ไขข้อบกพร่องของเว็บไซต์ใด ๆ ที่ฉันกำลังทำงานอยู่ในขณะนี้ ข้อผิดพลาดคือ 500.19 ไม่สามารถอ่านไฟล์กำหนดค่า

ดังนั้นหากคุณใช้ IIS Express และดูข้อผิดพลาดระดับ 500 ที่บอกเกี่ยวกับการกำหนดค่าการอ่านอย่างระมัดระวังตรวจสอบข้อความแสดงข้อผิดพลาดและอ่านเส้นทางทั้งหมดที่กล่าวถึง หากคุณเห็นอะไรเช่น:

c:\users\user\documents\visual studio 2013\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2015\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2017\projects\WebProject1\WebProject1.web\web.config
etc..

ไปที่นั่นตรงที่ข้อผิดพลาดบ่งชี้ให้แน่ใจว่าโฟลเดอร์เหล่านี้มีอยู่ตรวจสอบให้แน่ใจว่าบัญชีผู้ปฏิบัติงาน IIS สามารถสำรวจและอ่านและถ้าคุณสังเกตเห็นว่ามีอะไรผิดปกติอาจเป็นไปได้ว่า

BTW ใน VisualStudio บน ProjectProperties / Web มีปุ่ม "สร้างไดเรกทอรีเสมือน" โดยพื้นฐานแล้วมันทำสิ่งนี้มากดังนั้นคุณอาจลองก่อน แต่ IIRC ก็สามารถล้าง / เขียนทับส่วนกำหนดค่าส่วนหนึ่งในไฟล์ applicationHost.config ได้ดังนั้นควรระมัดระวังด้วยปุ่มนั้นถ้าคุณมีการตั้งค่าแบบกำหนดเองที่นั่น


3

ในกรณีของฉันมีข้อผิดพลาดเกิดขึ้นกับการติดตั้ง. NET Core Windows Hosting Bundle

ฉันติดตั้งแล้วและเริ่มต้น IIS ใหม่โดยใช้ ("net stop was / y" และ "net start w3svc") หลังการติดตั้ง แต่ฉันจะได้รับข้อผิดพลาด 500.19 ที่มีรหัสข้อผิดพลาด 0x8007000d และ Config Source -1: 0:

ฉันจัดการเพื่อแก้ไขปัญหาด้วยการซ่อมการติดตั้ง. NET Core Windows Hosting Bundle และเริ่มต้น IIS ใหม่โดยใช้คำสั่งที่กล่าวถึงข้างต้น

หวังว่านี่จะช่วยใครซักคน!


1
นี้ทำงานให้ฉันเป็นอย่างดีที่นี่เป็นบล็อก MSDN เกี่ยวกับการติด .NET หลักของ Windows Server Hosting กำ: blogs.msdn.microsoft.com/rohithrajan/2018/03/13/... นี่คือการเชื่อมโยงโดยตรงกับการดาวน์โหลด: อาคา ms / dotnetcore-2-windowshosting
riverwb

3

รายละเอียดข้อผิดพลาดที่น่ารักนี้ยังคงมีอยู่ในปี 2019! ผมแค่อยากจะเพิ่มว่าถ้าคุณweb.configถูกต้องและเข้าถึงได้มากที่สุดน่าจะเป็นปัญหาการพึ่งพา

ตามที่กล่าวไว้โดย OP มันเป็นAJAXโมดูลและตามที่คนอื่น ๆ ทั่วไปRewriteโมดูล เพียงแค่ให้ดวงตาของคุณเปิดใน web.config ของคุณสิ่งที่โมดูลและห้องสมุดแท็กของคุณกำลังอ้างอิงตั้งแต่รหัสข้อผิดพลาด0x8007000dสามารถเกี่ยวกับการพึ่งพาใด

ในกรณีของฉันฉันไม่ทราบว่าAspNetCoreชุดข้อมูลหายไปและต้องติดตั้ง! ดีใจมากที่พบโพสต์นี้ !!


2

สิ่งนี้อาจจะเกี่ยวข้องหรือไม่ .... ฉันเริ่มด้วยข้อผิดพลาดเดียวกันที่กล่าวถึงข้างต้นเริ่ม googling ทำการเปลี่ยนแปลงรับข้อผิดพลาดใหม่วนซ้ำไม่รู้จบ

การเปลี่ยนแปลงที่ทำให้ฉันได้รับจากข้อผิดพลาดนั้นเกิดความสับสนกับการมอบหมายคุณสมบัติใน IIS Manager ภายใต้ส่วนการจัดการของเซิร์ฟเวอร์ ฉันขอโทษฉันจำไม่ได้ว่าอันไหนที่ฉันเปลี่ยน แต่กูเกิลอาจช่วยได้

นั่นทำให้ฉันผ่านข้อผิดพลาดที่ 1 ไปสู่กระแสใหม่ของผู้อื่นบางเรื่องไร้สาระโดยสิ้นเชิง (ฉันจะได้รับข้อผิดพลาดหนึ่งข้อเมื่อทำงานภายใต้ไดเรกทอรีเสมือนการแปลงเป็นแอปพลิเคชันทำให้เกิดข้อผิดพลาดอื่นและอื่น ๆ ) ในที่สุดสิ่งที่แก้ไขข้อผิดพลาดชุดนี้คือ: ตัวจัดการ IIS, กลุ่มแอปพลิเคชัน, DefaultAppPool, เปิดใช้งานแอปพลิเคชัน 32 บิต = True

ฉันเริ่มต้นแอพนี้ในกล่อง xp windows 32 บิตและตอนนี้ฉันกำลังเรียกใช้บนกล่อง 64 บิตของ Windows 7

หวังว่านี่จะช่วยคนอื่นได้


2

IIS 7.5 ของฉันไม่เข้าใจแท็กใน web.config ใน VS 2010 จะขีดเส้นใต้แท็กนั้นด้วย ตรวจสอบไฟล์กำหนดค่าของคุณให้ถูกต้องเพื่อค้นหาแท็กที่ขีดเส้นใต้ทั้งหมด ฉันใส่ไว้ในความคิดเห็นและข้อผิดพลาดหายไป


2

ใส่ความคิดเห็นบรรทัดต่อไปนี้ในไฟล์ web.config

<modules>
    <!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>

<handlers>
    <remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
    <!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>

สิ่งนี้จะได้ผล


2

ฉันมีข้อผิดพลาดเดียวกัน ฉันมีไซต์ IIS พร้อมด้วย. net framework version 2.0 แต่แอพของฉันต้องการ 4.0 ฉันเปลี่ยนเวอร์ชันและใช้งานได้

การโพสต์เพื่อเตือนความจำหากบางคนอาจมีปัญหาเดียวกัน


2

ตรวจสอบให้แน่ใจว่าฟีเจอร์ IIS ทั้งหมดของคุณเปิดใช้งานอย่างเหมาะสม

  • เปิดฟีเจอร์ Windows (เปิดหรือปิดฟีเจอร์ Windows)
  • เลื่อนลงไปที่บริการข้อมูลทางอินเทอร์เน็ต

  • เปิดกล่องเวิลด์ไวด์เว็บรวมทั้งแบบเลื่อนลง

  • เปิดคุณสมบัติการพัฒนาแอปพลิเคชันพร้อมด้วยดรอปดาวน์
  • ตรวจสอบกล่องกาเครื่องหมายถัดไปทั้งหมดด้วยตนเองจากนั้นคลิกตกลง

ป้อนคำอธิบายรูปภาพที่นี่


1
ฉันเพิ่งติดตั้ง Windows 10 ใหม่ด้วยวิธีการอัปเกรดแบบแทนที่และฉันไม่ได้ทำการปรับแก้กล่องเหล่านั้นหรือทำการติดตั้งใหม่ที่ไม่ได้ทำการทดสอบ รหัสข้อผิดพลาดที่เกี่ยวข้อง 0x80070021 ปรากฏในหน้า 500.19
Andrew Morton

2

การกำหนดค่าด้านล่างเป็นสาเหตุของปัญหาของฉัน:

    <rewrite>
      <rules>
        <clear />
        <rule name="Redirect to HTTPS" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^.*spvitals\.com$" />
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
        </rule>
      </rules>
    </rewrite>

หมายเหตุ: ฉันลบส่วนนี้เพื่อทำการทดสอบในท้องถิ่นเนื่องจากทำงานได้ดีใน Azure


1
คุณสามารถเก็บกฎการเขียนซ้ำใน IIS ได้หากคุณติดตั้งโมดูล IIS URL Rewrite อยู่ที่iis.net/downloads/microsoft/url-rewrite
Toby Artisan

1

ฉันมีปัญหาเดียวกันใน Windows 7

วิธีแก้ไขคือไปที่การตั้งค่าพื้นฐาน> เชื่อมต่อเป็น> ผู้ใช้เฉพาะ - และลงชื่อเข้าใช้ในฐานะผู้ใช้แทนที่จะเป็น 'ผ่าน'

ปัญหานี้ได้รับการแก้ไขสำหรับฉัน


1

วินโดว 7

ลองนี้

เรียกใช้ cmd ในฐานะผู้ดูแลระบบ

ถอนการติดตั้ง iis ทั้งหมด

start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService

ติดตั้ง iis และ normaly อีกครั้งมันใช้ได้

Alain


1

ฉันได้รับข้อผิดพลาดนี้โดยวาง<customErrors>แท็กไว้ด้านใน<system.webServer>แทนที่จะเป็น<system.web>ตำแหน่งที่อยู่ มี squiggle เล็กน้อยภายใต้<customErrors>แท็ก แต่ฉันไม่ได้สังเกตเห็นมันทันที


1

เช่นเดียวกับคำตอบอันดับต้นๆ เราได้รับข้อยกเว้นที่ไม่มีประโยชน์อย่างไม่น่าเชื่อนี้เพราะโมดูล IIS CORS ที่ขาดหายไป มันเป็นข้อผิดพลาดเดียวกันกับ Error Code (0x8007000d) และ Config Source (-1: 0 :) แต่การติดตั้งโมดูลการเขียน URL ใหม่ไม่ได้แก้ไข

เราเพิ่งปรับปรุง web.config เพื่อเปิดใช้งาน CORS สำหรับนักพัฒนาบางคนที่ต้องการ แต่ไม่คาดหวังว่านักพัฒนาทุกคนจะต้องติดตั้งโมดูล IIS CORS น่าเสียดายที่มันดูเหมือนว่าจำเป็น

ที่จะแก้ไขได้ติดตั้งโมดูล IIS ล ธ จากที่นี่


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.