วิธีการตั้งค่าไฟล์ web.config เพื่อแสดงข้อความแสดงข้อผิดพลาด


140

ฉันปรับใช้แอปพลิเคชัน MVC-3 ของฉันบน windows Azure แต่ตอนนี้เมื่อฉันขอมันผ่านstaging urlมันแสดงให้เห็นฉัน(ขออภัยเกิดข้อผิดพลาดขณะประมวลผลคำขอของคุณ.) ตอนนี้ฉันต้องการที่จะเห็นข้อความแสดงข้อผิดพลาดโดยค่าเริ่มต้นมันซ่อนตัวอยู่เพราะเหตุผลด้านความปลอดภัย ฉันรู้ว่าเราสามารถทำได้ผ่านไฟล์ web.config แต่อย่างไร

คำตอบ:


249

ไม่แน่ใจว่าจะใช้งานได้ในสถานการณ์ของคุณหรือไม่ แต่ลองเพิ่มสิ่งต่อไปนี้web.configภายใต้ของคุณ<system.web>:

  <system.web>
    <customErrors mode="Off" />
  ...
  </system.web>

ทำงานในตัวอย่างของฉัน

ดูที่:

โหมด CustomErrors = "ปิด"


20
นอกจากนี้ให้เพิ่มสิ่งต่อไปนี้ใน < System.webServer > เพิ่ม <httpErrors errorMode = "Detailed" />
Kasper Halvas Jensen

128

สิ่งนี้สามารถช่วยคุณได้โดยแสดงรายละเอียดข้อผิดพลาดทั้งหมดบนเบราว์เซอร์ของลูกค้า

<system.web>
    <customErrors mode="Off"/>
</system.web>
<system.webServer>
    <httpErrors errorMode="Detailed" />
</system.webServer>

1
สำหรับรายละเอียดเพิ่มเติมโปรดดูองค์ประกอบ customErrors (Schema การตั้งค่า ASP.NET)
stomy



นี่เป็นคำตอบที่ดีกว่า bcuz ที่คนส่วนใหญ่ต้องการเห็นรายละเอียดแทน YSOD โดยไม่มีรายละเอียด
Spencer

12

หากคุณใช้ ASP.NET MVC คุณอาจต้องลบHandleErrorAttributeออกจากไฟล์ Global.asax.cs:

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute());
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.