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.
Vamos ver duas listas que eu consegui juntar com as principais diferenças:
Web Site
- Podemos programar uma página em C # e uma página no VB.net ( múltiplas linguagens de programação são permitidas) .
- Não podemos chamar (acessar) funções públicas de uma página para outra página.
- 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 )
- 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 ) .
- No projeto Web Site, cada arquivo que você excluir é renomeado com uma palavra-chave de exclusão no nome do arquivo .
- 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
- Apenas uma linguagem de programação permitido por projeto (necessidade de decidir sobre a linguagem de programação quando se inicia projeto).
- Podemos acessar as funções públicas de uma página para outra página.
- Classes utilitárias / função pode ser colocado em qualquer lugar na estrutura de pasta de aplicativos .
- Aplicações Web são tratados como os outros projetos . NET e são gerenciados por um arquivo de projeto ( . Csproj ou . Vbproj ) .
- 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.
- 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 :
Web Site:
- 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.
- Não há necessidade de recompilar o site antes da implantação.
- Precisamos implantar tanto o arquivo. Aspx e o código por trás do arquivo.
- 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:
- Aplicação web é pré-compilada em um único DLL.
- O ambiente tem de ser pré-compilado antes da publicação.
- Você publica só .aspx, e não o arquivo .cs (a dll pré-compilada será incarregada disto).
- 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 😉