debug = false

Warum sollte man bei ASP.net Applikationen debug = false setzen.

Neben Leistungseinbußen gibt es auch andere Probleme bei Produktivservern.

Generell sollte gelten: Wenn eine Website / Applikation produktiv ist, sollte immer der Debug Schalter auf false gesetzt sein.

Den Debug Schalter kann man entweder in der web.config oder direkt als Page Direktive setzen.

web.config-Datei der Anwendung

<compilation debug=“false“ strict=“false“ explicit=“true“ targetFramework=“4.5.1″>

Page Direktive

<%@ Page Debug=“false“ Language=“VB“ AutoEventWireup=“false“ CodeFile=“default.aspx.vb“ MasterPageFile=“~/spaghetticms.master“ Inherits=“_Default“ %>

1) Wenn man debug = true verwendet, werden viel mehr Dateien im temporären ASP.NET Dateiordner erzeugt.

2) Wenn man debug = true verwendet, werden die Webseiten keinen Timeout erzeugen.

3) Wenn man debug = true verwendet, wird die Batch Kompilierung deaktiviert, auch wenn das Batch-Attribut <compilation> auf true gesetzt ist.

4) Das System.Diagnostics.DebuggableAttribute wird zum generierten Code hinzugefügt, welches zu einem massiven Leistungsabfall führen kann. Bei debug = true wird generell das Debuggable zum generierten Code hinzugefügt.

5) Alle Client-JavaScript-Bibliotheken und statischen Bildern, die über WebResources.axd eingesetzt werden, werden bei jedem Seitenaufruf heruntergeladen und nicht lokal im Browser zwischengespeichert. Dies kann sich die Geschwindigkeit auswirken, z.B. wenn Sie Atlas einsetzen oder Steuerelemente wie TreeView / Menü / Validatoren. Beachten Sie, dass der Grund, warum diese Mittel nicht im Cache gespeichert werden, debug = true ist. Bei debug= true wird der Browser Cache ständig geleert.

6) Wenn <compilation debug = „false“ /> gesetzt ist, wird demWebResource.axd Handler automatisch Cache-Regeln hinzugefügt, sodass die Ressource nur einmal vom Client heruntergeladen und dort im Cache gespeichert wird (es wird auch auf alle Proxyservern zwischengespeichert werden). Wenn Sie Atlas für Ihre Anwendung installiert haben, wird es auch automatisch den Inhalt von der WebResources.axd Handler komprimieren. Zusätzlich wird die Größe der JavaScript-Bibliotheken und statischen Ressourcen verkleinert.

7) Wenn das Attribut debug auf true gesetzt ist, werden die Symbolinformationsdateien (PDB-Daten) jedes Mal, wenn der Compiler die ASPX-Seiten kompiliert, neu erzeugt.

Wird während einer Unterbrechung der Debugger angefügt, können keine weiteren Anfragen an die Seite bearbeitet werden. Die Seite ist dann nicht mehr aufrufbar.

Bitte beachten Sie auch: http: //support.microsoft.com/kb/301058