Was sind die Unterschiede zwischen ASPX- und ASX-Seiten? Ich verwende ashx jetzt, wenn ich eine Anfrage bearbeiten muss, die vom Code aufgerufen und mit einer Antwort zurückgegeben wurde, aber ich möchte bitte eine technischere Antwort.
Page
ist ein Sonderfallbearbeiter.
Der generische Web-Handler ( *.ashx
, erweiterungsbasierter Prozessor) ist der Standard-HTTP-Handler für alle Web-Handler, die keine Benutzeroberfläche haben und die @WebHandler
Direktive enthalten.
ASP.NET-Seitenhandler ( *.aspx
) ist der Standard-HTTP-Handler für alle ASP.NET-Seiten.
Zu den integrierten HTTP-Handlern gehören auch der Webdienst-Handler ( *.asmx
) und der Trace-Handler ( trace.axd
)
MSDN sagt :
Ein ASP.NET-HTTP-Handler ist der Prozess (häufig als "Endpunkt" bezeichnet), der als Antwort auf eine Anforderung an eine ASP.NET-Webanwendung ausgeführt wird. Der am häufigsten verwendete Handler ist ein ASP.NET-Seitenhandler, der ASPX-Dateien verarbeitet. Wenn Benutzer eine ASPX-Datei anfordern, wird die Anforderung von der Seite über den Seitenhandler verarbeitet.
Das Bild unten veranschaulicht dies:
Zu Ihrer zweiten Frage:
Behandelt ashx mehr Verbindungen als aspx?
Denken Sie nicht so (aber sicher nicht weniger als).
HttpHandler
ist nur ein Abschnitt der Anforderung, die vor demPage
Abschnitt ausgeführt wird..aspx
verwendet einen gesamten Lebenszyklus (Init
,Load
,PreRender
) und auf Tastenklicks usw. reagieren kanneine
.ashx
hat nur eine einzigeProcessRequest
Methode.quelle
.aspx ist eine gerenderte Seite. Wenn Sie eine Ansicht benötigen, verwenden Sie eine ASPX-Seite. Wenn Sie nur Backend-Funktionen benötigen, aber in derselben Ansicht bleiben, verwenden Sie eine .ashx-Seite.
quelle
Für Leute, die zuvor in NodeJs programmiert haben, insbesondere mit ExpressJS. Ich stelle mir
.ashx
eine Middleware vor , die dienext
Funktion aufruft . Während.aspx
wird die sein , Controller , die entweder auf die Anfrage reagiert tatsächlich umres.redirect
,res.send
oder was auch immer.quelle