Não execute ASP.NET em Produção com debug ativado

Em resumo:

  • A compilação de paginas ASP.NET leva muito mais tempo, porque otimizações ficam desativadas
  • O código pode executar mais lento, porque caminhos adicionais de depuração estão desativados.
  • Muito mais memória é usada pelo aplicativo no tempo de execução
  • Scripts e imagens baixadas por componentes como Ajax ToolKit ou similares não são armazenados em cachê.
  • Abre uma brecha na segurança, pois as mensagens de erro podem ser exibidas detalhadamente no servidor remoto expondo a aplicação.

O <deployment retail=”true”/> no Maching.config:

Para os administradores de servidores é possível garantir que ninguém acidentalmente implante uma aplicação ASP.NET com <compilation debug=”true”/> ativado dentro do Web.config, um truque é aproveitar a sessão

<deployment> dentro do arquivo machine.config.

Defina isso em seu machine.config:


<configuration>
    <system.web>
          <deployment retail=”true”/>
    </system.web>
</configuration>

Com essa configuração será desativado o <compilation debug=”true”/> dos aplicativos, desativada a capacidade de exibir rastreamento na exibição de uma pagina (desabilita o Trace.axd) e desabilita a capacidade de exibir mensagens de erro detalhadas remotamente.

Referências: