.aspx กับ. asx หลักความแตกต่าง


115

อะไรคือความแตกต่างระหว่างหน้า. aspx และ. asx ตอนนี้ฉันใช้ ashx เมื่อฉันต้องการจัดการคำขอที่เรียกจากรหัสและส่งกลับพร้อมคำตอบ แต่ฉันต้องการคำตอบทางเทคนิคเพิ่มเติมโปรด

คำตอบ:


101

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 หรือไม่?

อย่าคิดอย่างนั้น (แต่อย่างน้อยก็ต้องไม่น้อยกว่า)


ขอบคุณ แต่คุณไม่ได้พูดถึงตัวจัดการ ashx แล้ว Request Pipe Line ล่ะ?
Arrabi

1
@Arrabi HttpHandlerเป็นเพียงส่วนหนึ่งของคำขอที่กำลังดำเนินการก่อนPageส่วน
Alex

82

.aspxใช้แบบครบวงจร ( Init, Load, PreRender) และสามารถตอบสนองต่อการคลิกปุ่ม ฯลฯมีเพียงหนึ่งเดียววิธี
.ashxProcessRequest


"ใช้ซ้ำได้" ในบริบทนี้หมายถึงอะไร
redcalx

11
เว็บเซิร์ฟเวอร์ไม่จำเป็นต้องสร้างอินสแตนซ์ออบเจ็กต์ใหม่ต่อคำขอใหม่ หาก IsReusable = true บน Handler เซิร์ฟเวอร์อาจนำอ็อบเจ็กต์ตัวจัดการที่มีอยู่มาใช้ซ้ำเพื่อดำเนินการตามคำขอถัดไป
quetzalcoatl

2
ดังนั้นจึงสร้างอินสแตนซ์ของตัวจัดการและเก็บไว้ในหน่วยความจำเพื่อใช้ซ้ำ มันไม่เคยคืนให้ GC
uzay95

26

.aspx เป็นหน้าที่แสดงผล หากคุณต้องการมุมมองให้ใช้หน้า. aspx หากสิ่งที่คุณต้องการคือฟังก์ชันแบ็กเอนด์ แต่จะยังคงอยู่ในมุมมองเดิมให้ใช้หน้า. asx


ที่ฉันรู้ฉันต้องการคำตอบทางเทคนิคเพิ่มเติมอาจจะเป็นตัวเลข ashx จัดการการเชื่อมต่อมากกว่า aspx หรือไม่
Arrabi

1

สำหรับคนที่เคยตั้งโปรแกรมใน nodeJ มาก่อนโดยเฉพาะการใช้ expressJS ฉันคิดว่า.ashxเป็นตัวกลางที่เรียกใช้nextฟังก์ชัน ในขณะที่.aspxจะเป็นตัวควบคุมที่จริงตอบสนองต่อการร้องขอทั้งรอบres.redirect, res.sendหรืออะไรก็ตาม

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