Réponses:
Page
est un gestionnaire de cas spécial.
Le gestionnaire Web générique ( *.ashx
processeur basé sur une extension) est le gestionnaire HTTP par défaut pour tous les gestionnaires Web qui n'ont pas d'interface utilisateur et qui incluent la @WebHandler
directive.
Gestionnaire page ASP.NET ( *.aspx
) est le gestionnaire HTTP par défaut pour toutes les pages ASP.NET.
Parmi les gestionnaires HTTP intégrés, il existe également un gestionnaire de service Web ( *.asmx
) et un gestionnaire de trace ( trace.axd
)
MSDN dit :
Un gestionnaire HTTP ASP.NET est le processus (souvent appelé «point de terminaison») qui s'exécute en réponse à une demande adressée à une application Web ASP.NET. Le gestionnaire le plus courant est un gestionnaire de page ASP.NET qui traite les fichiers .aspx. Lorsque les utilisateurs demandent un fichier .aspx, la demande est traitée par la page via le gestionnaire de pages.
L'image ci-dessous illustre ceci:
Quant à votre deuxième question:
Ashx gère-t-il plus de connexions que aspx?
Ne le pense pas (mais bien sûr, au moins pas moins que).
HttpHandler
est juste une section de la requête qui est exécutée avant la Page
section.
.aspx
utilise un cycle de vie complet ( Init
, Load
, PreRender
) et peut répondre aux clics de bouton , etc.
Un .ashx
a une seule ProcessRequest
méthode.
.aspx est une page rendue. Si vous avez besoin d'une vue, utilisez une page .aspx. Si tout ce dont vous avez besoin est une fonctionnalité de backend mais que vous restez sur la même vue, utilisez une page .ashx.