เหตุใด IIS จึงปฏิเสธที่จะให้บริการเนื้อหา ASP.NET


16

เซิร์ฟเวอร์ Windows Server 2003 Std ของฉันปฏิเสธเนื้อหาเซิร์ฟเวอร์ ASP.NET มันให้บริการ html ปกติดี แต่อะไร. net, แม้แต่ไฟล์ html หนึ่งบรรทัดที่มีส่วนขยาย ASPX ล้มเหลวอย่างเงียบ ๆ

สิ่งที่ฉันได้ลอง:

  • ไม่มีสิ่งใดในบันทึกเหตุการณ์หรือบันทึก IIS WWW เมื่อล้มเหลว
  • พู้ทำเล่นไม่ตอบสนอง
  • ฉันติดตั้ง. NET อีกครั้งด้วย
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
  • ฉันให้สิทธิ์สูงอย่างหยาบคายกับทุกสิ่งที่ฉันสามารถนึกถึง (การควบคุมเต็มรูปแบบอ่านเขียนและอื่น ๆ ) ให้กับผู้ใช้ที่เกี่ยวข้องทั้งหมด (IUSER *, ASP.NET และอื่น ๆ )
  • ฉันยืนยันว่า ASP.Net v1 และ v2 Web Service Extensions นั้น "ได้รับอนุญาต" ใน IIS
  • ยืนยันว่า Server Manager เปิดใช้งานบทบาท IIS และ ASP.Net

อีกครั้ง: นี่คือสถานการณ์:

คำแนะนำใด ๆ ที่จะได้รับการชื่นชมมาก!


การแก้ไข:ฉันติดตั้งใหม่ตามคำแนะนำด้านล่างและใช้งานได้ในขณะนี้ ขอบคุณทุกคน!

คำตอบ:


23

ฉันพบปัญหานี้หลายครั้งและทุกครั้งวิธีแก้ปัญหาคือ:

  1. ไปที่แผงควบคุม
  2. ไปที่พื้นที่ "คอมโพเนนต์ของ Windows"
  3. ลบ IIS ปล่อยให้มันถอนการติดตั้ง
  4. รีบูต
  5. เพิ่ม IIS อีกครั้ง ( ตรวจสอบให้แน่ใจว่าได้รวมสิ่ง ASP.NET ไว้เมื่อคุณทำเครื่องหมายในช่อง )
  6. เรียกใช้: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

ฉันใช้เวลาหลายชั่วโมงในการดีบั๊กที่ไซต์ลูกค้าหนึ่งครั้งและนั่นก็เป็นเคล็ดลับ ตั้งแต่นั้นมาทุกครั้งที่เกิดเหตุการณ์นี้เป็นการแก้ไข

ฉันไม่แน่ใจว่าสาเหตุที่แท้จริงคืออะไร แต่เราแยกการกำหนดค่า IIS ออกจากกันเมื่อพยายามคิดออกและแม้กระทั่งมี Microsoft RDC กำลังเข้าสู่เซิร์ฟเวอร์ที่สงสัยเป็นเวลา 2 หรือ 3 ชั่วโมงและพวกเขาก็ไม่สามารถช่วยได้เช่นกัน .

ดังนั้นฉันจึงเขียนมันออกเป็นข้อผิดพลาดที่ไม่มีเอกสารใน ASP.NET/IIS


1
นั่นมัน Soooo เสียเวลาไปกับการแก้ปัญหาที่ไม่น่าพอใจเช่นนี้ฉันเกลียดที่จะไม่รู้สาเหตุที่แท้จริง โอ้มันใช้ได้แล้วตอนนี้ - ขอบคุณมากแซม!
ไมเคิลฮาเรน

2
ขั้นตอนที่ 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren

ไม่มีปัญหายินดีให้บริการเพราะฉันรู้ว่านี่เป็นสิ่งที่เจ็บปวด!
Sam Schutte

นอกจากนี้อาจเป็นไปได้ว่าสาเหตุที่แท้จริงคือการติดตั้งที่ไม่ดี ฉันรู้ว่าเมื่อฉันพบปัญหานี้ทุกอย่างจะดูดี แต่ฉันคิดว่ามีบางอย่างที่รีจิสทรีหรือการกำหนดค่าถูกเมาด้วยเหตุผลบางอย่าง
Sam Schutte

อาจเป็นการจัดรูปแบบคำสั่งในขั้นตอนที่ 6 เป็นรหัสเพื่อให้ง่ายต่อการบอกว่าการตั้งค่าสถานะเป็นตัวพิมพ์ใหญ่ 'i'
Dave Andersen

9

ลองทำสิ่งนี้: http: //localhost/blah.aspx (ควรเป็นหน้าที่ไม่มีอยู่จริง) ถ้ามันให้ 404 แทนที่จะเป็นหน้าข้อผิดพลาดของ asp.net จากนั้น asp.net จะไม่ทำงานถ้ามันทำให้คุณมีข้อผิดพลาด 403 แสดงว่าการอนุญาตสำหรับไซต์นั้นผิด

นี่คือรายการตรวจสอบที่อาจช่วยได้:

  • IIS ทำงานอยู่หรือไม่
  • เว็บไซต์ของคุณทำงานหรือไม่
  • แอพพูลสำหรับเว็บไซต์ของคุณทำงานอย่างถูกต้องหรือไม่?
  • มีการติดตั้งและลงทะเบียน ASP.NET หรือไม่

    cd / d% windir% \ Microsoft.Net \ Framework \ v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • ASP.NET ทำงานอยู่หรือเปล่า?

ตรวจสอบแท็บ "ASP.NET" ในคุณสมบัติของเว็บไซต์ของคุณ ตรวจสอบให้แน่ใจว่าใช้เวอร์ชันที่ถูกต้อง

  • มีการตั้งค่าการอนุญาตอย่างถูกต้องหรือไม่?

ตรวจสอบแท็บ "โฮมไดเรกทอรี" ในคุณสมบัติของไซต์ของคุณตรวจสอบการตั้งค่า "ดำเนินการอนุญาต" ควรตั้งค่าให้อนุญาตสคริปต์ ตรวจสอบด้วย "ส่วนขยายบริการเว็บ" เพื่อให้แน่ใจว่า asp.net ได้รับอนุญาตให้ทำงานได้


นี่คือรายการที่ดีสำหรับการอ้างอิงในอนาคต ฉันได้ลองทั้งหมดแล้วยกเว้นสวิตช์ -a และ -enable และแนวคิด blah.aspx การติดตั้ง IIS ใหม่เป็นสิ่งที่ต้องทำ ขอบคุณสำหรับความช่วยเหลือ!
Michael Haren

แอพพูลที่ทำงานอย่างถูกต้องมีลักษณะอย่างไร แอพพูลที่ใช้งานไม่ถูกต้องมีลักษณะอย่างไร
Ian Boyd

ไม่มีใครพบ "Web Service Extension" เพื่อให้แน่ใจว่า asp.net ได้รับอนุญาตให้ทำงาน
เอียนบอยด์

3

เปิดตัวจัดการ IIS คลิกที่โฟลเดอร์ Web Service Extensions ในบานหน้าต่างด้านซ้าย จากนั้นคลิกที่ส่วนขยาย ASP.NET ในบานหน้าต่างด้านขวาและคลิกปุ่มอนุญาต


มันได้รับอนุญาตแล้วขอบคุณสำหรับข้อเสนอแนะแม้ว่า
ไมเคิลฮาเรน

2

คุณไม่จำเป็นต้องถอนการติดตั้ง / ติดตั้ง IIS ใหม่อีกครั้งเพื่อรองรับ. net ตามคำตอบก่อนหน้า เพียงแค่เรียกใช้ยูทิลิตี aspnet_regiis.exe ที่อยู่ในโฟลเดอร์ framwork ที่เหมาะสมเช่น:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

ฉันทำสิ่งนี้แตกต่างจากคำถามของฉันหรือไม่? ถ้าไม่เช่นนั้นฉันลองแล้ว
Michael Haren

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