นี่คือการผลักดันทั้งทีมให้บ้าคลั่ง จะต้องมีส่วนกำหนดค่าผิดพลาดอย่างง่าย ๆ ของ 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ลบความคิดเห็นทั้งหมดใน พวกเขาเริ่มต้นด้วยและจบลงด้วยการ<!---->