Solución:
Page
es un manejador de casos especiales.
Controlador web genérico (*.ashx
, procesador basado en extensión) es el controlador HTTP predeterminado para todos los controladores web que no tienen una interfaz de usuario y que incluyen el @WebHandler
directiva.
Controlador de página 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 el 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).
.aspx
utiliza un ciclo de vida completo (Init
, Load
, PreRender
) y puede responder a los clics en los botones, etc.
Un .ashx
tiene solo una 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.