Diferenças entre Web Site e Web Application em ASP.NET

0

Pessoal, recentemente levantei uma dúvida na minha cabeça sobre quais seriam as diferenças entre criar um Project ou criar um WebSite no Visual Studio, e decidi tomar nota.

projects

Vamos ver duas listas que eu consegui juntar com as principais diferenças:

Web Site

  1. Podemos programar uma página em C # e uma página no VB.net ( múltiplas linguagens de programação são permitidas) .
  2. Não podemos chamar (acessar) funções públicas de uma página para outra página.
  3. Classes de utilitários / funções devem ser colocados em uma pasta ASP.NET especial (a pasta App_Code ou alguma referência específica )
  4. Sites da Web não tem um arquivo .csproj / .vbproj que gerencia o projeto (a pasta que contém o site torna-se a raiz do projeto ) .
  5. No projeto Web Site, cada arquivo que você excluir é renomeado com uma palavra-chave de exclusão no nome do arquivo .
  6. Namespaces explícitos não são adicionados a páginas , controles e classes, por padrão , mas você pode adicioná-los manualmente .

 

Web Application Project

  1. Apenas uma linguagem de programação permitido por projeto (necessidade de decidir sobre a linguagem de programação quando se inicia projeto).
  2. Podemos acessar as funções públicas de uma página para outra página.
  3. Classes utilitárias / função pode ser colocado em qualquer lugar na estrutura de pasta de aplicativos .
  4. Aplicações Web são tratados como os outros projetos . NET e são gerenciados por um arquivo de projeto ( . Csproj ou . Vbproj ) .
  5. Um recurso interessante do projeto Web Application é que é muito mais fácil para excluir arquivos do ponto de vista do projeto, apenas removendo-o do projeto ou deletando permanentemente.
  6. Namespaces explícitas são adicionados às páginas , controles e classes por padrão.

 

Pude reparar que o processo de publish / deployment  também é diferente :

upload_icon

Web Site:

  1. Ela tem seu código em um diretório especial App_Code e é compilado em várias DLLs (assembléias) em tempo de execução.
  2. Não há necessidade de recompilar o site antes da implantação.
  3. Precisamos implantar tanto o arquivo. Aspx e o código por trás do arquivo.
  4. Pequenas mudanças no site não exigem uma re-implantação completa. (Nós podemos fazer o upload do arquivo de código que foi alterado)

 

Web Application:

  1. Aplicação web é pré-compilada em um único DLL.
  2. O ambiente tem de ser pré-compilado antes da publicação.
  3. Você publica só .aspx, e não o arquivo .cs (a dll pré-compilada será incarregada disto).
  4. Mesmo pequenas mudanças exigem uma re-compilação completa do site inteiro (ou seja, se o código para uma única página muda todo o site deve ser compilado) (Isso requer um planejamento cuidadoso para garantir novos bugs não são introduzidos no local de produção ao fazer upload de bug correções ou outras alterações.)

 

Conclusões : Apesar de ser bem mais fácil e menos complexo o Web Site possui certas limitações que só a Web App irá resolver. Para pequenos projetos ou exemplos simples recomendaria Web Sites e para projetos maiores ou com funcionalidade complexa e/ou específica recomendaria Web Application.

E você? Sabe mais alguma diferença entre os dois tipos? Deixe nos comentários!

Siga-nos na Fã page do Facebook  😉

 

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com