Diferença chave: ASP significa Active Server Pages. É comumente conhecido como ASP clássico ou ASP Classic. É um ambiente de script do lado do servidor que é desenvolvido e lançado pela Microsoft. O ASP.NET é uma estrutura de aplicativo da Web do lado do servidor. ASPX significa Active Server Pages Extended. Ele foi projetado para desenvolvimento na Web para produzir páginas da Web dinâmicas. Ambos suportam o contexto de uma sessão. Um objeto de sessão armazena informações ou altera as configurações de uma sessão de usuário. Essencialmente, ele registra tudo o que um usuário vê e faz em uma página, especialmente qualquer alteração que o usuário possa incorporar na página.
O ASP é usado principalmente para criar e executar aplicativos de servidor Web dinâmicos e interativos. Ele também permite combinar páginas HTML, comandos de script e componentes COM para criar páginas da Web interativas e aplicativos poderosos baseados na Web. Também torna mais fácil desenvolver e modificar os aplicativos da Web.
Após seu lançamento original, houve dois lançamentos de versão. O ASP 2.0 introduziu seis objetos internos ao original, que eram Application, ASPError, Request, Response, Server e Session. O ASP 3.0 introduziu alguns aprimoramentos adicionais, como o método Server.Transfer, o método Server.Execute e um objeto ASPError aprimorado. Além disso, o ASP 3.0 também ativou o buffer por padrão e otimizou o mecanismo para um melhor desempenho. No entanto, a partir de maio de 2013, não há atualizações planejadas para o ASP.
O ASP.NET é construído no Common Language Runtime (CLR). Isso permite que os programadores escrevam código ASP.NET usando qualquer linguagem .NET suportada. Páginas da Web ASP.NET também são comumente conhecidas como Web Forms. Eles contêm marcação HTML estática (X). Ele também contém marcação que define controles da Web do lado do servidor e controles de usuário. É aqui que os desenvolvedores colocam todo o conteúdo rc para a página da Web.
No ASP.NET Framework 2.0, foi introduzido um novo modelo de code-behind. Isso permite que o texto estático permaneça na página .aspx, enquanto o código dinâmico permanece em um arquivo .aspx.vb ou .aspx.cs ou .aspx.fs. A localização do código dinâmico depende da linguagem de programação usada.
Ambos suportam o contexto de uma sessão. Um objeto de sessão armazena informações ou altera as configurações de uma sessão de usuário. Essencialmente, ele registra tudo o que um usuário vê e faz em uma página, especialmente qualquer alteração que o usuário possa incorporar na página. Isto tem uma vantagem, como no caso de o sistema travar entre as mudanças que o usuário estava tentando fazer, as mudanças não serão perdidas quando o sistema falhar. A sessão manteria a memória de onde o usuário parou.
A sessão é essencialmente um cookie de página da web. Ele armazena e recupera valores para um usuário enquanto o usuário navega na página da Web. As variáveis armazenadas em um objeto Session contêm informações sobre um único usuário e estão disponíveis para todas as páginas em um aplicativo. Algumas informações comuns armazenadas em variáveis de sessão são nome, ID e preferências. O servidor cria um novo objeto Session para cada novo usuário e destrói o objeto Session quando a sessão expira.
Algumas diferenças entre a Sessão ASP e a Sessão ASP.NET:
- No ASP, a sessão é dependente do processo, enquanto no ASP.NET, a sessão é independente do processo.
- No ASP, a sessão é dependente de cookie, enquanto no ASP.NET, a sessão é independente de cookie.
- O estado da sessão ASP não tem solução inerente para trabalhar com Web Farms. A sessão do ASP.NET pode ser armazenada no servidor de estado e no SQL SERVER, que podem suportar vários servidores.
- Sessão ASP só funciona quando o navegador suporta cookies, a sessão do ASP.NET é executada independentemente.
- O estado da sessão ASP depende muito do processo do IIS. Se o IIS reiniciar, as variáveis de sessão ASP também serão recicladas. Considerando que, a sessão do ASP.NET pode ser independente do ambiente de hospedagem, portanto, a sessão do ASP.NET pode ser mantida mesmo se o IIS for reinicializado.
- A sessão ASP enfrenta as limitações do farm de servidores. À medida que os usuários passam de um servidor para outro em um farm de servidores Web, o estado da sessão não os segue. O estado da sessão do ASP.NET tem suporte para configurações de farm de servidores. Ele se move para um modelo fora de processo, portanto, não enfrenta o problema de farm de servidores.