To help troubleshoot problems, developers usually enables the debug mode in web.config file. This causes ASP.NET to produce extra information in the compiled assemblies such as debug symbols, metadata. However, performance will be suffered as it takes longer to compile and run, consumes more memory and resource caching is not performed. Therefore, in production, we should set the debugging option back to false to avoid the effect on performance. There are two ways to achieve this.
1) In web.config file, set <compilation debug=”false”/>
2) In Machine.config which is typically located at %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\, you can disable the <compilation debug=”true”/> switch for all ASP.NET applications on the system in production by setting the following:
The setting in machine.config will also turn off trace output in a page and detailed error messages remotely. More information about this switch can be found here.
SDET, Visual Web Developer