อะไรคือความแตกต่างระหว่างหน้า. aspx และ. asx ตอนนี้ฉันใช้ ashx เมื่อฉันต้องการจัดการคำขอที่เรียกจากรหัสและส่งกลับพร้อมคำตอบ แต่ฉันต้องการคำตอบทางเทคนิคเพิ่มเติมโปรด
อะไรคือความแตกต่างระหว่างหน้า. aspx และ. asx ตอนนี้ฉันใช้ ashx เมื่อฉันต้องการจัดการคำขอที่เรียกจากรหัสและส่งกลับพร้อมคำตอบ แต่ฉันต้องการคำตอบทางเทคนิคเพิ่มเติมโปรด
คำตอบ:
Page
เป็นตัวจัดการกรณีพิเศษ
ตัวจัดการเว็บทั่วไป ( *.ashx
ตัวประมวลผลที่ใช้ส่วนขยาย) เป็นตัวจัดการ HTTP เริ่มต้นสำหรับตัวจัดการเว็บทั้งหมดที่ไม่มี UI และรวมถึง@WebHandler
คำสั่ง
ASP.NET page handler ( *.aspx
) เป็นตัวจัดการ HTTP เริ่มต้นสำหรับเพจ ASP.NET ทั้งหมด
ในบรรดาตัวจัดการ HTTP ในตัวยังมี Web service handler ( *.asmx
) และ Trace handler ( trace.axd
)
MSDN พูดว่า :
ตัวจัดการ ASP.NET HTTP คือกระบวนการ (มักเรียกว่า "ปลายทาง") ที่ทำงานเพื่อตอบสนองการร้องขอที่ส่งไปยังโปรแกรมประยุกต์บนเว็บ ASP.NET ตัวจัดการที่พบบ่อยที่สุดคือตัวจัดการเพจ ASP.NET ที่ประมวลผลไฟล์. aspx เมื่อผู้ใช้ร้องขอไฟล์. aspx คำร้องขอจะถูกประมวลผลโดยเพจผ่านตัวจัดการเพจ
ภาพด้านล่างแสดงสิ่งนี้:
สำหรับคำถามที่สองของคุณ:
Ashx รองรับการเชื่อมต่อมากกว่า aspx หรือไม่?
อย่าคิดอย่างนั้น (แต่อย่างน้อยก็ต้องไม่น้อยกว่า)
HttpHandler
เป็นเพียงส่วนหนึ่งของคำขอที่กำลังดำเนินการก่อนPage
ส่วน
.aspx
ใช้แบบครบวงจร ( Init
, Load
, PreRender
) และสามารถตอบสนองต่อการคลิกปุ่ม ฯลฯมีเพียงหนึ่งเดียววิธี.ashx
ProcessRequest
.aspx เป็นหน้าที่แสดงผล หากคุณต้องการมุมมองให้ใช้หน้า. aspx หากสิ่งที่คุณต้องการคือฟังก์ชันแบ็กเอนด์ แต่จะยังคงอยู่ในมุมมองเดิมให้ใช้หน้า. asx
สำหรับคนที่เคยตั้งโปรแกรมใน nodeJ มาก่อนโดยเฉพาะการใช้ expressJS ฉันคิดว่า.ashx
เป็นตัวกลางที่เรียกใช้next
ฟังก์ชัน ในขณะที่.aspx
จะเป็นตัวควบคุมที่จริงตอบสนองต่อการร้องขอทั้งรอบres.redirect
, res.send
หรืออะไรก็ตาม