Quais são as diferenças entre as páginas .aspx e .ashx? Eu uso ashx agora quando preciso lidar com uma solicitação que foi chamada do código e retornou com uma resposta, mas gostaria de uma resposta mais técnica, por favor.
Page
é um tratador de caso especial.
O manipulador genérico da Web ( *.ashx
processador baseado em extensão) é o manipulador HTTP padrão para todos os manipuladores da Web que não possuem uma IU e que incluem a @WebHandler
diretiva.
ASP.NET page handler ( *.aspx
) é o manipulador HTTP padrão para todas as páginas ASP.NET.
Entre os manipuladores HTTP integrados, há também manipulador de serviço da Web ( *.asmx
) e manipulador de rastreamento ( trace.axd
)
MSDN diz :
Um manipulador HTTP ASP.NET é o processo (freqüentemente referido como o "ponto de extremidade") que é executado em resposta a uma solicitação feita a um aplicativo Web ASP.NET. O manipulador mais comum é um manipulador de página ASP.NET que processa arquivos .aspx. Quando os usuários solicitam um arquivo .aspx, a solicitação é processada pela página por meio do manipulador de páginas.
A imagem abaixo ilustra isso:
Quanto à sua segunda pergunta:
O ashx lida com mais conexões do que o aspx?
Não pense assim (mas com certeza, pelo menos não menos que).
HttpHandler
é apenas uma seção da solicitação que está sendo executada antes daPage
seção..aspx
usa um ciclo de vida completo (Init
,Load
,PreRender
) e pode responder a cliques de botão etc.Um
.ashx
tem apenas um únicoProcessRequest
método.fonte
.aspx é uma página renderizada. Se você precisar de uma visualização, use uma página .aspx. Se tudo o que você precisa é a funcionalidade de back-end, mas permanecerá na mesma visualização, use uma página .ashx.
fonte
Para pessoas que já programaram em nodeJs antes, particularmente usando expressJS. Eu penso
.ashx
em um middleware que chama anext
função. Enquanto.aspx
será o controlador que realmente responderá à solicitação, seja ao redorres.redirect
,res.send
seja o que for.fonte