Exemplarische Vorgehensweise: Bereitstellen einer ASP.NET-Webanwendung mit XCOPY
Aktualisiert: November 2007
Die Bereitstellung von ASP.NET-Anwendungen ist ein einfacher Vorgang. Sie müssen die erstellten Anwendungsdateien vom Entwicklungscomputer auf den Produktionswebserver kopieren, der für die Anwendung als Host fungiert. Hierfür können Sie das Befehlszeilentool XCOPY oder eine beliebige FTP-Anwendung verwenden. Weitere allgemeine Informationen zur Bereitstellung finden Sie unter Grundlagen der Bereitstellung von .NET Framework.
![]() |
---|
Anstelle des Befehlszeilentools XCOPY, das von allen Versionen von .NET Framework unterstützt wird, können Sie das neue .NET Framework 2.0-Tool unter %SystemRoot%\Microsoft.NET\Framework\Version 2 oder höher\Aspnet_compiler.exe zum Kompilieren und Bereitstellen von Webanwendungen verwenden. Weitere Informationen finden Sie unter ASP.NET-Kompilierungstool (Aspnet_compiler.exe). |
Assemblys, die von Webanwendungen gemeinsam verwendet werden sollen, z. B. Assemblys mit benutzerdefinierten ASP.NET-Serversteuerelementen, sollten im globalen Assemblycache (GAC) auf einem Remoteserver bereitgestellt werden.
Wenn Sie eine Anwendung bereitstellen, die einen Verweis auf eine im globalen Assemblycache des lokalen Servers registrierte benutzerdefinierte Komponente enthält, wird die Komponente nicht zusammen mit der Anwendung auf dem Remoteserver bereitgestellt. Sie müssen die Komponente im globalen Assemblycache des Remoteservers installieren oder vor dem Bereitstellen in den Ordner Bin der lokalen Webanwendung kopieren.
Weitere Informationen finden Sie unter Globaler Assemblycache. Weitere Informationen über Assemblys finden Sie unter Programmieren mit Assemblys.
Einige Entwicklungstools wie Visual Web Developer enthalten Tools, die das Bereitstellen von Anwendungen vereinfachen.
Vorbereitungsmaßnahmen
Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:
.NET Framework
Eine vorhandene ASP.NET-Website. Wenn Sie bereits eine solche Site konfiguriert haben, können Sie diese Site als Ausgangspunkt für diese exemplarische Vorgehensweise verwenden. Andernfalls finden Sie ausführliche Informationen zum Erstellen eines virtuellen Verzeichnisses oder einer virtuellen Website unter Gewusst wie: Erstellen und Konfigurieren von virtuellen Verzeichnissen in IIS 5.0 und 6.0.
Ein Ziel, auf das über einen Dateipfad oder einen UNC-Pfad zugegriffen werden kann.
![]() |
---|
In dieser exemplarischen Vorgehensweise wird nicht davon ausgegangen, dass Sie einen Designer wie Microsoft Visual Web Developer oder Microsoft Visual Studio verwenden. |
Vorbereitung
Gehen Sie wie folgt vor, wenn Sie eine umfangreiche Website bereitstellen und die Zielwebsite während des Kopierens von Dateien offline geschaltet werden soll.
So schalten Sie ein Webanwendung vor der Bereitstellung offline
Erstellen Sie die Datei App_offline.htm, und kopieren Sie sie in das Stammverzeichnis der Zielwebsite.
Informieren Sie die Besucher durch eine Meldung in der Datei App_offline.htm darüber, dass die Site aktualisiert wird.
Solange die Datei App_offline.htm vorhanden ist, wird jede Anforderung der Website auf die Datei umgeleitet.
Wichtiger Hinweis:
Denken Sie daran, die Datei App_offline.htm nach dem Kopieren der Dateien zu löschen.
Bei einigen Dateitypen und Ordnern führen Änderungen dazu, dass die Anwendungsdomäne neu gestartet wird. Sie können die Anzahl der Sekunden festlegen, die die Anwendung vor einem Neustart der Anwendungsdomäne auf eine weitere Dateiänderung wartet.
So minimieren Sie die Anzahl der Neustarts der Anwendungsdomäne
Öffnen Sie die Datei Web.config der Webanwendung. Wenn keine Datei Web.config vorhanden ist, können Sie diese mit dem folgenden Code erstellen.
<?xml version="1.0"?> <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <system.web> </system.web> </configuration>
Weitere Informationen finden Sie unter ASP.NET-Konfigurationsdateien.
Fügen Sie in der Datei Web.config ein httpRuntime-Element (ASP.NET-Einstellungsschema)-Element ein, und legen Sie die waitChangeNotification-Attribute auf eine beliebige Anzahl von Sekunden fest, die größer ist als die Zeit zwischen den Aktualisierungen von zwei Benachrichtigungen über eine Dateiänderung. Das httpRuntime-Element könnte zum Beispiel folgendermaßen aussehen:
<?xml version="1.0"?> <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <system.web> <httpRuntime waitChangeNotification="5" /> </system.web> </configuration>
Fügen Sie dem httpRuntime-Element ein maxWaitChangeNotification-Attribut hinzu, und legen Sie es auf die Anzahl von Sekunden fest, die nach der ersten Benachrichtigung über eine Dateiänderung gewartet werden soll, bevor die Anwendungsdomäne neu gestartet wird. Legen Sie das Attribut auf einen Wert fest, der die Zeit übersteigt, die für das Beenden aller Dateikopiervorgänge benötigt wird. Zusammen mit dem waitChangeNotification-Attribut bildet der Wert dieses Attributs die Grundlage für Benachrichtigungen über Dateiänderungen. Das httpRuntime-Element könnte zum Beispiel folgendermaßen aussehen:
<?xml version="1.0"?> <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <system.web> <httpRuntime waitChangeNotification="5" maxWaitChangeNotification="10" /> </system.web> </configuration>
So stellen Sie eine ASP.NET-Webanwendung mit XCOPY an der Befehlszeile bereit
Klicken Sie auf Start und dann auf Ausführen.
Geben Sie im Dialogfeld Ausführen im Feld Öffnen die Zeichenfolge cmd ein, und klicken Sie auf OK.
Geben Sie an der Eingabeaufforderung folgenden Befehl ein:
xcopy /I /S<source path> <destination path>
In diesem Befehl ist <source path> der vollständige Pfad zur Webanwendung, und <destination path> ist der Pfad zum Verzeichnis, in dem die Anwendung bereitgestellt wird.
Hinweis:
Bei der Verwendung von XCOPY müssen Sie die Namen physischer Verzeichnisse angeben. Namen virtueller Verzeichnisse sind nicht zulässig.
Durch den Schalter /S werden alle Unterverzeichnisse und die darin enthaltenen Dateien kopiert.
Der Schalter /I gibt an, dass das Ziel ein Verzeichnisname ist. Wenn der Zielordner nicht vorhanden ist, wird er von XCOPY erstellt.
Der folgende Befehl kopiert beispielsweise alle Dateien im Verzeichnis c:\inetpub\wwwroot\devapp in das Verzeichnis d:\publicsites\liveapp.
Xcopy /I /Sc:\inetpub\wwwroot\devapp d:\publicsites\liveapp
Der Befehl hält möglicherweise an, und fordert Sie zu einer Bestätigung wie "Dateiname überschreiben (Ja/Nein/Alle)?" auf.
Sie können Unterverzeichnisse, Dateien mit bestimmen Dateinamenerweiterungen oder bestimmte Dateinamen mit der XCOPY-Option /EXCLUDE ausschließen. Weitere Informationen und Schaltern finden Sie unter Xcopy im Fenster Hilfe und Support im Startmenü, oder wenn Sie an der Eingabeaufforderung xcopy /? eingeben.
So können Sie einzelne Dateien einer ASP.NET-Webanwendung von der Befehlszeile aus bereitstellen oder aktualisieren
Klicken Sie auf Start und dann auf Ausführen.
Geben Sie im Dialogfeld Ausführen im Feld Öffnen die Zeichenfolge cmd ein, und klicken Sie auf OK.
Geben Sie an der Eingabeaufforderung folgenden Befehl ein:
xcopy <source path> <destination path>
In diesem Befehl ist <source path> der vollständige Pfad zur Quelldatei, die kopiert werden soll, und <destination path> ist der vollständige Pfad des Verzeichnisses, in das die Dateien kopiert werden.
Im folgenden Beispiel wird eine einzelne DLL aus einem \Bin-Verzeichnis auf einem Laufwerk in ein \Bin-Verzeichnis auf einem anderen Laufwerk kopiert.
Xcopy c:\inetpub\wwwroot\devapp\bin\sampleAssembly.dll d:\publicsites\liveapp\bin
Im folgenden Beispiel werden alle DLL-Dateien aus einem Bin-Verzeichnis auf einem Laufwerk in ein Bin-Verzeichnis auf einem anderen Laufwerk kopiert.
Xcopy c:\inetpub\wwwroot\devapp\bin\*.dll d:\publicsites\liveapp\bin
Der Befehl hält möglicherweise an, und fordert Sie zu einer Bestätigung wie "Dateiname überschreiben (Ja/Nein/Alle)?" auf.
Siehe auch
Aufgaben
Konzepte
Veröffentlichen und Bereitstellen von XML-Webdiensten