2009-11-10 13 views
7

Ich weiß, es gibt mehrere Fragen mit der gleichen Frage "Warum sollte ich Release-Modus verwenden". Das Problem, das ich mit den Antworten habe, ist, dass sie ganz einfach angeben, dass Sie den Veröffentlichungsmodus immer verwenden sollten, wenn eine Website in Produktion ist.Was ist der wirkliche Vorteil von Release-Modus für ASP.Net

Warum?

Ich verstehe, dass der Code in den Baugruppen optimiert ist, aber auf welcher Ebene? Wird es gut geschriebenen Code optimieren? Welche Art von Optimierungen führt es durch?

Gibt es diesbezüglich Analysen? Kann ich trotzdem die Unterschiede zwischen Debug und Release testen?

Ich würde wirklich jemanden mögen, der das Warum von diesem versteht, um wenigstens einen Bezug zu irgendeinem definitiven Lesematerial zur Verfügung zu stellen, weil ich noch irgendetwas hart genug finden muss, um meine Neugier auf diesem Thema zu befriedigen.

Antwort

10

Lesen Sie zuerst: http://blogs.msdn.com/tess/archive/2006/04/13/575364.aspx, ich fand es nur als Teil der Beantwortung dieser Frage, es ist ein großer Artikel.

Siehe diese Frage: At what level C# compiler or JIT optimize the application code? für einige Informationen über allgemeine Compiler-Optimierungen. Beachten Sie auch, dass für eine Asp.Net-Webanwendung, die in den Freigabemodus wechselt, die Assemblys im Freigabemodus kompiliert werden. Für die Seitenkompilierungen müssen Sie jedoch möglicherweise auch das Debugattribut des Kompilierungselements in Ihrem Web bearbeiten. Konfig.

<compilation defaultLanguage="c#" debug="true"> 

Webanwendungen tun seltsame Dinge, wenn debug = true gesetzt ist, zum Beispiel sie ehren nicht Anfrage Timeouts, weil es mit Debugging stören würde.

ist hier ein großer Artikel aus der Gu zum Thema: Don’t run production ASP.NET Applications with debug=”true” enabled

+0

+1 für den Link zu Tesses Artikeln. Genau das wollte ich wissen. Der genaue Grund der Frage. Die Gu lieferte auch einen Einblick in das Zwischenspeichern von WebResource.axd und ScriptResource.axd, die in Instanzen der Bereitstellung im Releasemodus zwischengespeichert wurden. – Khanzor

+1

Wenn Sie eines der ASP.NET AJAX-Tools verwenden, stellt das Festlegen von debug = "false" in web.config sicher, dass die verkleinerten Versionen der MS-Skripts an den Browser gesendet werden. –

+0

Nice @Zhaph, gut zu wissen! – Khanzor

Verwandte Themen