lundi 1 juin 2009

Ne pas déployer une application ASP.NET en production avec debug="true"

Si une application est déployée en production avec  <compilation debug="true"/> :

    1. La compilation des pages asp.net prend plus de temps (puisque certains batchs d'optimisation sont désactivés);
    2. Le code peut s'exécuter plus lentement (car des élements additionnels de debug sont activés);
    3. Utilisation d'avantage de mémoire au moment de l'exécution;
    4. Les scripts et images téléchargés depuis le handler WebResources.axd ne sont pas mis en cache.

Pour s'assurer qu'aucune application ne sera déployée en production avec <compilation debug="true"/> activé, il est possible d'utiliser l'élement <deployment> dans machine.config comme suit :

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

Ceci désactivera <compilation debug="true"/>, désactivera le traçage de sortie dans une page et desactivera la possibilité d'afficher le détail des messages d'erreur.

Source:

Don’t run production ASP.NET Applications with debug=”true” enabled


Plus d'infos:

http://www.aspdotnetfaq.com/Faq/What-does-deployment-retail-true-attribute-in-machine-config-file-means.aspx


http://msdn.microsoft.com/fr-fr/library/ms228298(VS.80).aspx