ASP vs. ASP.Net

ASP e ASP.Net são linguagens de programação muito diferentes. ASP é uma linguagem de script, onde ASP.NET é a formulação da Web de uma linguagem compilada (Visual Basic, C #, J #, C ++, .Net). Além disso, diferentemente do ASP, o ASP.NET é uma linguagem orientada a objetos.

denuncie este anúncio

Conteúdo: ASP vs ASP.Net

  • 1 Isolamento do Processo
  • 2 Interpretação vs. Compilação
    • 2.1 Implicações de desempenho
  • 3 Depuração
  • 4 Referências

Isolamento do processo

O ASP é executado no espaço de processo inetinfo.exe (IIS) e, portanto, é suscetível a falhas no aplicativo devido ao fato de o IIS ser parado ou reiniciado.

Por outro lado, o processo do operador do ASP.NET é um processo distinto (aspnet_wp.exe) separado do processo do IIS inetinfo.exe. O modelo de processo no ASP.NET não está relacionado a processar configurações de isolamento no IIS.

Interpretação vs. Compilação

Quando uma página ASP tradicional é solicitada, o texto dessa página é analisado linearmente. Todo o conteúdo que não é script do lado do servidor é renderizado como está de volta à resposta. Todo script do lado do servidor na página é executado primeiro através do interpretador apropriado (JScript ou VBScript), cuja saída é então renderizada de volta para a resposta.

Por outro lado, as páginas ASP.NET são sempre compiladas em classes .NET hospedadas em assemblies. Essa classe inclui todo o código do servidor e o HTML estático; portanto, quando uma página é acessada pela primeira vez (ou qualquer página de um diretório específico é acessada), a renderização subsequente dessa página é atendida pela execução de código compilado. Isso elimina todas as ineficiências do modelo de script do ASP tradicional.

Implicações de desempenho

  • Como os scripts ASP são interpretados em tempo real, há um impacto no desempenho. Uma otimização comum para aplicativos ASP, portanto, é mover muitos scripts do lado do servidor para componentes COM pré-compilados para melhorar o tempo de resposta. Como todos os componentes no ASP.NET são assemblies, não há degradação no desempenho usando o código do lado do servidor.
  • Com o ASP, misturar blocos de avaliação do lado do servidor com HTML estático é menos eficiente que um único bloco de script do lado do servidor, porque o intérprete precisa ser chamado várias vezes. Para evitar isso, muitos desenvolvedores de ASP recorrem a grandes blocos de script do lado do servidor, substituindo elementos HTML estáticos por invocações Response.Write (). Para o ASP.NET, essas etapas não são necessárias para melhorar o desempenho.
  • O ASP permite que diferentes blocos de script em uma página sejam gravados em diferentes linguagens de script. Embora isso possa ser atraente de algumas maneiras, também diminui o desempenho, exigindo que uma página específica carregue os dois mecanismos de script (JScript, VBScript) para processar uma solicitação, o que leva mais tempo e memória do que usar apenas uma linguagem. O ASP.NET possui "code-behind" em arquivos .aspx que são analisados ​​e compilados. Vários idiomas do lado do servidor não podem ser usados ​​em um único arquivo .aspx.

Depuração

Como o ASP envolve a interpretação de scripts, a depuração é difícil. Mas com o ASP.NET, todas as ferramentas disponíveis para o desenvolvedor .NET são aplicáveis ​​ao desenvolvedor .aspx. Erros com páginas são gerados como erros do compilador e há uma boa chance de a maioria dos erros ser encontrada no momento da compilação, em vez do tempo de execução, porque o VB.NET e o C # são linguagens fortemente tipadas.

Referências

  • wikipedia: Páginas ativas do servidor
  • wikipedia: ASP.NET