Risposte:
Page
è un gestore di casi speciali.
Il gestore Web generico ( *.ashx
, processore basato su estensione) è il gestore HTTP predefinito per tutti i gestori Web che non dispongono di un'interfaccia utente e che includono la @WebHandler
direttiva.
Il gestore della pagina ASP.NET ( *.aspx
) è il gestore HTTP predefinito per tutte le pagine ASP.NET.
Tra i gestori HTTP integrati ci sono anche gestore di servizi Web ( *.asmx
) e gestore di traccia ( trace.axd
)
MSDN dice :
Un gestore HTTP ASP.NET è il processo (spesso denominato "endpoint") che viene eseguito in risposta a una richiesta effettuata a un'applicazione Web ASP.NET. Il gestore più comune è un gestore di pagine ASP.NET che elabora i file .aspx. Quando gli utenti richiedono un file .aspx, la richiesta viene elaborata dalla pagina tramite il gestore della pagina.
L'immagine sotto lo illustra:
Quanto alla tua seconda domanda:
Ashx gestisce più connessioni di aspx?
Non credo (ma di sicuro, almeno non meno di).
HttpHandler
è solo una sezione della richiesta che viene eseguita prima della Page
sezione.
.aspx
utilizza un ciclo di vita completo ( Init
, Load
, PreRender
) e in grado di rispondere alle clic sui pulsanti ecc
Una .ashx
ha un solo ProcessRequest
metodo.
.aspx è una pagina sottoposta a rendering. Se hai bisogno di una visualizzazione, usa una pagina .aspx. Se tutto ciò di cui hai bisogno è la funzionalità di backend ma rimarrai nella stessa visualizzazione, usa una pagina .ashx.