DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Till Groos Artikel Drucken
        
Schnellere und sichere Webanwendungen mit dem ASP.NET Precompiler

Der wohl häufigste Grund für die Anwendung des ASP.NET 2.0 PreCompiler ist das schnellere Starten der Webanwendung. 
Zu finden ist das Kommandozeilen Tool unter

%WINDIR%\Microsoft.NET\Framework\v2.0.xxxxx\aspnet_compiler.exe

Als Nebenprodukt bietet der PreCompiler zusätzliche auch noch erhöhte Sicherheit für Ihre Software.

Fleißige Webprogrammierer kennen es nur zu gut: der erste Aufruf Ihrer frisch auf den Webserver aufgespielten 
Webanwendung dauert und dauert und dauert. Grund dafür ist die ASP.NET Engine, die zur Laufzeit den Quellcode in Maschinencode kompiliert. Schlauerweise tut sie dies nur beim ersten Aufruf, danach beliefert sie den Webserver mit Informationen aus dem Cache. Den Cache findet man bei .NET 2.0 im

%WINDIR%\Microsoft.NET\Framework\v2.0.xxxxx\Temporary ASP.NET Files

In Place PreCompilation

Um unsere Kunden mit stehts mit einem zugigen Aufbau unserer Webseite zu begeistern, können wir diesen ersten Aufruf der Webanwendung mit dem PreCompiler erledigen. Der Syntax für diese "In Place" Prekompilation lautet:

aspnet_compiler.exe -v /Myapp

Dieser Aufruf kompiliert das Web im virtuellen Verzeichnis "Myapp". Die vorkompilierten Dateien landen im 
entsprechenden temporären Ordner von ASP.NET. Unser Web startet jetzt nicht nur zügig, wir wissen jetzt auch, dass unser Web syntaktisch Fehlerfrei ist.

PreCompilation for Deployment

Die zweite Methode, um Webseiten vorzukompilieren, ist "PreCompilation for Deployment". Hier können wir eine 
Webanwendung aus dem Dateisystem in ein gewähltes Verzeichnis Vorkompilieren. Das Resultat ist eine "Executable" unseres Webs:

aspnet_compiler.exe -p "c:\meine Quelle" -v / "c:\mein Ziel"

Der Parameter "-p" referenziert hier ein Verzeichnis im Dateisystem. Der Parameter "-v" wird vom Compiler zum Referenzieren der Root der Webs benötigt. Ein weiterer Vorteil dieses Compileraufrufs: es befindet sich kein 
Quellcode mehr auf dem Webserver. Nicht nur alle Klassen aus dem App_Code und die Codebeside-Informationen werden 
kompiliert, auch die .aspx, .asmx, .ashx, .master und .ascx Dateien werden landen als vorkompilierte Dateien im 
Zielverzeichnis. Resultat dieses Kompilierens ist, dass keine Veränderungen durch einfaches kopieren mehr an der 
Webseite vorgenommen werden können. Um wenigstens die .aspx, .asmx, .ashx, .master und .ascx Dateien mit Quelltext im Web zu haben, kann zusätzlich die Option "-u" verwendet werden.

Wer im Besitz eines Visual Studios ist, kann die Vorzüge des Precompiliers auch visuell Nutzen. Unter "Webseite, 
veröffentlichen" finden sich die oben beschriebenen Features für das "PreCompile for Deployment" und einige mehr in
einer kompakten Maske wieder.

Fazit

Der ASP.NET Precompiler bietet nicht nur Vorzüge in Sachen Performance. Auch die Sicherheit unserer Webanwendungen profitieren vom Kompilieren. Syntaktische Fehler in unserer Software können so dem Kunden vorenthalten bleiben und Quellcode bleibt dem suchenden Angreifer verborgen.


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 30.03.2006
  Gültig bis: 28.06.2006
3 Ratings
Bewertung: 53,3%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG