Exportar (0) Imprimir
Expandir Tudo

Visão geral da Compilação do ASP.NET

Para que o código possar ser enviado aos usuários, o ASP.NET compila o código em um ou mais conjuntos. Os conjuntos são arquivos que possuem a extensão .dll. Você pode escrever códigos ASP.NET em diferentes linguagens, como o Visual Basic, C #, J# e outras. Quando o código é compilado, é traduzido para uma representação independente de liguagem e de CPU chamada Linguagem Intermediária da Microsoft (MSIL - Microsoft Intermediate Language). Em tempo de execução, MSIL roda no contexto do Framework .NET, que traduz para instruções específicas de CPU do processador do computador que está rodando a aplicação.

Há muitos benefícios em compilar o código do aplicativo, incluindo:

  • Desempenho Código compilado é muito mais rápido que linguagens de script como VBScript ou ECMAScript, porque é uma representação mais próxima do código de máquina e não requer análise adicional.

  • Segurança O código compilado é mais difícil de fazer engenharia reversa do código fonte não compilado porque ela não tem a capacidade de leitura e abstração de uma linguagem de alto nível. Além disso, existem ferramentas de ofuscação que fazem código compilado ficar ainda mais resistente à engenharia reversa.

  • Estabilidade Código é verificado em tempo de compilação quanto a erros de sintaxe, tipo de segurança, e outros problemas.
    Com a captura desses erros em tempo de compilação você pode eliminar muitos erros em seu código.

  • Interoperabilidade Como o código MSIL suporta qualquer linguagem .NET, você pode usar conjuntos que foram originalmente escritos em outras linguagens em seu código.
    Por exemplo, se você estiver escrevendo uma página da Web ASP.NET em C #, você pode adicionar uma referência para um arquivo .dll que foi escrito em Visual Basic.

A arquitetura da compilação do ASP.NET possui uma série de recursos, incluindo:

  • Suporte a várias linguagens.

  • Compilação automática.

  • Implantação flexível.

  • Sistema extensível de compilação.

As seguintes seções descrevem cada um desses recursos.

No ASP.NET 2.0, você pode usar diferentes linguagens como Visual Basic e C # no mesmo aplicativo porque ASP.NET irá criar múltiplos assemblies, um para cada linguagem.
Para o código armazenado na pasta App_Code, você pode especificar uma subpasta para cada idioma. Para mais informações sobre a pasta App_Code, veja Pastas de Código Compartilhadas em Projetos Web do ASP.NET.

ASP.NET compila automaticamente o código do aplicativo e quaisquer recursos dependentes a primeira vez que um usuário solicita um recurso a partir do Web site.
Em geral, ASP.NET cria uma montagem para cada diretório do aplicativo (como App_Code) e outra para o diretório principal.
(Se os arquivos em um diretório estão em diferentes linguagens de programação, em seguida, conjuntos separados serão criados para cada idioma.). Você pode especificar quais diretórios são compilados em assemblies individuais na seção Compilation do arquivo Web.config.

Como o ASP.NET compila o site quando o primeiro usuário envia uma requisição ao servidor, você pode simplesmente copiar o código fonte do seu aplicativo para o servidor Web de produção. No entanto, o ASP.NET também fornece opções de pré-compilação que permitem que você compile o seu site antes de ter sido implantado, ou compilá-lo depois de ter sido implantado, mas antes de um usuário solicitá-lo. A Pré-Compilação possui diversas vantagens. Ele pode melhorar o desempenho do seu site na primeira requisição, porque não haverá tempo de demora enquanto ASP.NET compila o site.
Pré-Compilação também pode ajudar você a encontrar erros que poderiam ser encontrados somente quando um usuário solicita uma página. Finalmente, se você pré-compilar o site antes de implantá-lo, você pode implantar as assemblies em vez do código fonte.

Você pode pré-compilar um site usando a ferramenta de compilação do ASP.NET (Aspnet_compiler.exe). A ferramenta oferece as seguintes opções de pré-compilação:

  • Compilação no local: Esta opção executa a mesma compilação que ocorre durante a compilação dinâmica.
    Use essa opção para compilar um site que já foi implantado em um servidor de produção.

  • Non-updateable full precompilation: Use-o para compilar um aplicativo e, em seguida, copiar a saída compilada para o servidor de produção. Todo o código de aplicação, marcação e código UI é compilado em assemblies.
    Arquivos de espaço reservado como. Aspx ainda existem para que você possa realizar tarefas específicas de arquivo, como configuração de permissões, mas os arquivos não contêm nenhum código atualizável.
    Para atualizar qualquer página ou qualquer código que você deve pré-compilar o site novamente e implantá-lo novamente.

  • Pré-compilação Atualizável Esta assemelha-se à pré-compilação completa não atualizável, exceto que elementos de interface do usuário, como páginas .aspx e controles .ascx retêm todas as suas marcações, código de interface do usuário e código embutido, se houver. Você pode atualizar o código no arquivo depois de ter sido implantado; ASP.NET irá detectar alterações no arquivo e recompilar.
    Observe que o código em um arquivo code-behind (.vb ou cs.) é construído em assemblies durante a pré-compilação e, portanto, você não pode mudá-lo sem passar pela pré-compilação e etapas de implantação novamente.

Para obter mais informações, consulte ASP.NET Precompilation Overview.

ASP.NET usa classes BuildProvider para construir itens como páginas .aspx, arquivos .ascx e recursos globais. Você pode estender e personalizar o sistema de compilação ASP.NET para compilar recursos personalizados, criando classes que herdam da classe BuildProvider. Por exemplo, você pode adicionar um novo tipo de arquivo e, em seguida, escrever um BuildProvider que cria este tipo específico.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft