Otimizando a compilação


Quando fazemos alguma mudança no diretório bin, App_Code ou no arquivo Global.asax, toda a aplicação ASP.NET será recompilada. Para sites pequenos, isso não tem muitos problemas, já que não há muitos arquivos/recursos a serem compilados. Já quando temos um site com várias páginas, esse processo pode se tornar muito lento, principalmente na primeira requisição, que é o onde a compilação irá ocorrer.

O SP1 do .NET Framework 3.5 inclui um novo atributo chamado optimizeCompilations, dentro do elemento compilation. Quando esse atributo estiver definido como False (configuração padrão), qualquer mudança provocará a recompilação total do site; já quando voce, explicitamente, definí-lo como True, somente os arquivos afetados pela mudança serão recompilados. Abaixo temos o exemplo da utilização deste novo atributo:

<compilation optimizeCompilations=”true”>

Anúncios

5 comentários sobre “Otimizando a compilação

    • Tentei comentar no blog antigo, mas tá com pau. Segue aqui o comentário para o seu farewell post:

      É isso aí, Israel, legal isso. Vai também deixar mais claro que você é você.
      Já assinei o outro.
      Bem melhor assim, um ponto único para acompanhar.
      Vi que vc colocou lá o BE.Net, é bem legal.
      Vc pegou o plano da OrcsWeb para MVPs? É legal? procurei no site deles os planos, mas não achei…
      []s

    • Olá,

      Uma questão que tenho. Se definir esse atributo para verdadeiro, sempre que eu compilo o meu projecto, ele apenas vai compilar as páginas que foram alteradas durante essa sessão ou ele consegue ver de sessões anteriores (dias anteriores em que trabalhei no visual studio) quais os arquivos modificados?

      Abraço

    • Ola Guilherme,

      A idéia deste atributo é mudar o comportamento durante a execução da aplicação. Antes dele, qualquer mudança na pastas bin, App_Code ou no arquivo Global.asax, forçava a recompilação total do projeto, incluindo as páginas previamente compiladas.

    • Boas Robson,

      Independemente do valor deste flag, ele não afetará o comportamento do shutdown do AppDomain, ou seja, ele continuará reciclando quando alguma alteração é realizada, apenas melhorando o desempenho da requisição inicial, já que não haverá a necessidade da recompilação total do projeto.

      As vezes são esses comportamentos que nos obrigam a criar algo customizado, como eu comentei aqui: http://www.israelaece.com/post/DBAuthorization-Parte-1-O-problema.aspx

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s