Apa perbedaan antara halaman .aspx dan .ashx? Saya menggunakan ashx sekarang ketika saya perlu menangani permintaan yang dipanggil dari kode dan dikembalikan dengan tanggapan, tetapi saya ingin jawaban yang lebih teknis.
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 sebelumPage
bagian..aspx
menggunakan siklus penuh (Init
,Load
,PreRender
) dan dapat menanggapi klik tombol dllSebuah
.ashx
memiliki hanya satuProcessRequest
metode.sumber
.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.
sumber
Untuk orang yang telah memprogram di nodeJ sebelumnya, khususnya menggunakan expressJS. Saya menganggapnya
.ashx
sebagai middleware yang memanggilnext
fungsi tersebut. While.aspx
akan menjadi pengontrol yang benar-benar menanggapi permintaan baik di sekitarres.redirect
,res.send
atau apa pun.sumber