การแก้ไขข้อผิดพลาด 404
ในแอปพลิเคชัน ASP.NET
คุณเพิ่งติดตั้ง Service Pack 1 สำหรับ .NET 3.5
และพบว่าแอปพลิเคชัน ASP.NET ของคุณเริ่มแสดงข้อผิดพลาด 404 Page Not Found
หรือไม่? คุณไม่ใช่คนเดียว ปัญหานี้เป็นปัญหาที่พบได้บ่อยซึ่งอาจเกิดขึ้นได้จากหลายสาเหตุ โดยเฉพาะเมื่อมีการเปลี่ยนแปลงในกรอบงานที่อยู่เบื้องหลัง ในโพสต์นี้เราจะสำรวจสาเหตุที่เป็นไปได้และให้แนวทางในการแก้ไขปัญหาเหล่านี้เพื่อลดความสับสนให้กับคุณ
เข้าใจปัญหา
การติดตั้งการอัปเดต .NET อาจทำให้เกิดพฤติกรรมที่ไม่คาดคิดในแอปพลิเคชันเว็บ ในกรณีนี้ เซิร์ฟเวอร์หนึ่งทำงานได้อย่างราบรื่นหลังจากการอัปเดต ในขณะที่อีกเซิร์ฟเวอร์ไม่สามารถตอบสนองต่อคำขอ ASP.NET ได้อย่างถูกต้อง หน้าแบบสแตติกยังคงทำงานได้อย่างถูกต้อง ซึ่งบ่งชี้ว่าการตั้งค่าหรือ ASP.NET pipeline อาจมีปัญหา
แนวทางแก้ไขเพื่อแก้ไขข้อผิดพลาด 404
เพื่อให้สามารถวิเคราะห์และแก้ไขปัญหานี้ได้อย่างมีประสิทธิภาพ เราจะตรวจสอบและดำเนินการในหลายขั้นตอน
1. ลงทะเบียน ASP.NET Pipeline
สิ่งแรกที่ต้องตรวจสอบคือการลงทะเบียน runtime ASP.NET กับ IIS อย่างถูกต้อง
- เรียกใช้ ASPNET_REGIIS -i: คำสั่งนี้จะติดตั้งกรอบงาน ASP.NET ใหม่และลงทะเบียนกับ IIS คุณสามารถทำได้โดย:
-
เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบ
-
ไปที่ไดเรกทอรีการติดตั้งกรอบงาน .NET
-
รันคำสั่ง:
aspnet_regiis -i
-
2. ตรวจสอบไฟล์ app_offline.htm
หลังจากการอัปเดต บางครั้งไฟล์ app_offline.htm
อาจถูกทิ้งไว้ในไดเรกทอรีหลักของแอปพลิเคชันโดยไม่ได้ตั้งใจ ไฟล์นี้ใช้เพื่อบ่งบอกว่าแอปพลิเคชันออฟไลน์ชั่วคราว
- ลบ app_offline.htm: ตรวจสอบให้แน่ใจว่าไฟล์นี้ถูกลบออกจากไดเรกทอรีแอปพลิเคชันแล้ว
3. ใช้ Fiddler เพื่อวิเคราะห์คำขอ
Fiddler เป็นเครื่องมือที่ทรงพลังสำหรับติดตามคำขอและคำตอบ HTTP:
- ดาวน์โหลดและติดตั้ง Fiddler:
- คุณสามารถดาวน์โหลด Fiddler ได้จาก ที่นี่.
- ใช้เพื่อติดตามคำขอที่ส่งไปยังเซิร์ฟเวอร์ของคุณและดูว่าคำขอเหล่านั้นถูกประมวลผลอย่างไร ข้อมูลเชิงลึกนี้สามารถช่วยระบุจุดที่คำขอล้มเหลว
4. ยืนยันว่า ASP.NET เปิดใช้งานใน IIS
ตรวจสอบการตั้งค่าใน IIS:
- ไปที่ IIS Management Console:
- ไปที่เซิร์ฟเวอร์ของคุณ เปิด IIS Manager และมองหาส่วน “Web Service Extensions”
- ตรวจสอบว่า ASP.NET ถูกตั้งค่าให้เปิดใช้งาน ตรวจสอบให้แน่ใจว่าหมวดหมู่ที่เกี่ยวข้องทั้งหมดตามเวอร์ชันของกรอบงานได้รับการอนุญาต
การตรวจสอบเพิ่มเติม:
- ตรวจสอบให้แน่ใจว่าแอปพลิเคชันเว็บกำลังทำงานกับเวอร์ชันที่ถูกต้องของกรอบงาน .NET
- พิจารณาตรวจสอบบันทึกเหตุการณ์เพื่อค้นหาข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องซึ่งอาจให้ข้อมูลเพิ่มเติมเกี่ยวกับปัญหา
สรุป
การติดตั้งการอัปเดตเช่น Service Pack 1 สำหรับ .NET 3.5
อาจทำให้เกิดปัญหาที่ไม่คาดคิดกับแอปพลิเคชัน ASP.NET ของคุณ อย่างไรก็ตาม ด้วยการตรวจสอบการลงทะเบียนของ ASP.NET pipeline อย่างมีระเบียบ การค้นหาไฟล์ app_offline.htm
ที่ไม่เกี่ยวข้อง การใช้งานเครื่องมือเช่น Fiddler และการทำให้แน่ใจว่า ASP.NET ได้รับการเปิดใช้งานใน IIS คุณสามารถวินิจฉัยและแก้ไขปัญหาเหล่านี้ได้อย่างมีประสิทธิภาพ ด้วยการใช้แนวทางแก้ไขเหล่านี้ คุณสามารถทำให้แอปพลิเคชันของคุณกลับมาทำงานได้ตามปกติ ปราศจากข้อผิดพลาด 404 Page Not Found
หากคุณมีคำถามหรือแนวทางแก้ไขเพิ่มเติมที่ได้ผลสำหรับคุณ อย่าลังเลที่จะให้ความคิดเห็นด้านล่าง!