Respuestas:
Page
es un manejador de casos especiales.
El manejador web genérico ( *.ashx
procesador basado en extensiones) es el manejador HTTP predeterminado para todos los manejadores web que no tienen una IU y que incluyen la @WebHandler
directiva.
El controlador de páginas ASP.NET ( *.aspx
) es el controlador HTTP predeterminado para todas las páginas ASP.NET.
Entre los controladores HTTP integrados también hay un controlador de servicios web ( *.asmx
) y un controlador de seguimiento ( trace.axd
)
MSDN dice :
Un controlador HTTP de ASP.NET es el proceso (con frecuencia denominado "punto final") que se ejecuta en respuesta a una solicitud realizada a una aplicación web ASP.NET. El controlador más común es un controlador de página ASP.NET que procesa archivos .aspx. Cuando los usuarios solicitan un archivo .aspx, la página procesa la solicitud a través del controlador de página.
La siguiente imagen ilustra esto:
En cuanto a su segunda pregunta:
¿Ashx maneja más conexiones que aspx?
No lo creo (pero seguro, al menos no menos).
HttpHandler
es solo una sección de la solicitud que se está ejecutando antes de la Page
sección.
.aspx
utiliza un ciclo de vida completo ( Init
, Load
, PreRender
) y puede responder a clics de los botones, etc.
Una .ashx
tiene un solo ProcessRequest
método.
.aspx es una página renderizada. Si necesita una vista, use una página .aspx. Si todo lo que necesita es la funcionalidad de backend pero permanecerá en la misma vista, use una página .ashx.