.aspx vs .ashx differenza PRINCIPALE


115

Quali sono le differenze tra le pagine .aspx e .ashx? Ora uso ashx quando ho bisogno di gestire una richiesta che è stata chiamata dal codice e restituita con una risposta, ma vorrei una risposta più tecnica per favore.

Risposte:


101

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 @WebHandlerdirettiva.

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: richiesta pipe line

Quanto alla tua seconda domanda:

Ashx gestisce più connessioni di aspx?

Non credo (ma di sicuro, almeno non meno di).


grazie, ma non hai menzionato l'handler ashx, e la sua Request Pipe Line?
Arrabi

1
@Arrabi, HttpHandlerè solo una sezione della richiesta che viene eseguita prima della Pagesezione.
Alex

82

.aspxutilizza un ciclo di vita completo ( Init, Load, PreRender) e in grado di rispondere alle clic sui pulsanti ecc
Una .ashxha un solo ProcessRequestmetodo.


Cosa si intende per "riutilizzabile" in questo contesto?
redcalx

11
Che il server web non è obbligato a creare una nuova istanza di oggetto per ogni nuova richiesta. Se IsReusable = true sul gestore, il server potrebbe riutilizzare gli oggetti del gestore esistenti per elaborare le richieste successive
quetzalcoatl

2
Quindi crea un'istanza di handler e la conserva in memoria per riutilizzarla. Non lo restituisce mai a GC.
uzay95

26

.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.


che lo so, volevo una risposta più tecnica magari con i numeri, ashx gestisce più connessioni di aspx?
Arrabi

1

Per le persone che hanno già programmato in nodeJs, in particolare utilizzando expressJS. Penso .ashxa un middleware che chiama la nextfunzione. Mentre .aspxsarà il controller che effettivamente risponde alla richiesta in giro res.redirect, res.sendo qualsiasi altra cosa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.