Jawaban:
Page
adalah penangan kasus khusus.
Penangan Web Generik ( *.ashx
, prosesor berbasis ekstensi) adalah penangan HTTP default untuk semua penangan Web yang tidak memiliki UI dan yang menyertakan @WebHandler
direktif.
Penangan halaman ASP.NET ( *.aspx
) adalah penangan HTTP default untuk semua halaman ASP.NET.
Di antara penangan HTTP bawaan ada juga penangan layanan Web ( *.asmx
) dan penangan Jejak ( trace.axd
)
MSDN mengatakan :
Penangan HTTP ASP.NET adalah proses (sering disebut sebagai "titik akhir") yang berjalan sebagai tanggapan atas permintaan yang dibuat untuk aplikasi ASP.NET Web. Penangan yang paling umum adalah penangan halaman ASP.NET yang memproses file .aspx. Ketika pengguna meminta file .aspx, permintaan diproses oleh halaman melalui penangan halaman.
Gambar di bawah mengilustrasikan ini:
Mengenai pertanyaan kedua Anda:
Apakah ashx menangani lebih banyak koneksi daripada aspx?
Jangan berpikir begitu (tapi yang pasti, setidaknya tidak kurang dari).
HttpHandler
hanyalah bagian dari permintaan yang dijalankan sebelum Page
bagian.
.aspx
menggunakan siklus penuh ( Init
, Load
, PreRender
) dan dapat menanggapi klik tombol dll
Sebuah .ashx
memiliki hanya satu ProcessRequest
metode.
.aspx adalah halaman yang dirender. Jika Anda membutuhkan tampilan, gunakan halaman .aspx. Jika yang Anda butuhkan hanyalah fungsionalitas backend tetapi tetap pada tampilan yang sama, gunakan halaman .ashx.
Untuk orang yang telah memprogram di nodeJ sebelumnya, khususnya menggunakan expressJS. Saya menganggapnya .ashx
sebagai middleware yang memanggil next
fungsi tersebut. While .aspx
akan menjadi pengontrol yang benar-benar menanggapi permintaan baik di sekitar res.redirect
, res.send
atau apa pun.