Bereitstellen einer ASP.NET-Webanwendung mithilfe der Xcopy-Bereitstellung

In diesem Artikel wird beschrieben, wie Sie mithilfe des MS-DOS-Befehls Xcopy eine Microsoft ASP.NET Webanwendung bereitstellen.

Originalversion des Produkts:   ASP.NET
Ursprüngliche KB-Nummer:   326355

Zusammenfassung

Die Bereitstellung im Xcopy-Stil ist nicht für alle Situationen geeignet. Für große Websites und branchenspezifische Anwendungen wird empfohlen, die Website vorübergehend offline zu schalten. Sie möchten dies tun, während der neue Inhalt und die Anwendungsassemblys bereitgestellt werden. Sie können diese Wartung zu einem bequemen, geplanten Zeitpunkt durchführen. Führen Sie die folgenden Schritte aus, um die geplanten Ausfallzeiten zu minimieren:

  1. Erstellen Sie ein neues physisches Verzeichnis für die Anwendung, die Sie aktualisieren möchten. Kopieren Sie alle neuen Inhalte in das neue physische Verzeichnis.

  2. Konfigurieren Sie das virtuelle Verzeichnis für die Anwendung neu, damit es mit dem neuen Inhalt auf das neue physische Verzeichnis verweist.

    Hinweis

    Wenn Sie neue Inhalte in einer ASP.NET Webanwendung bereitstellen, kann die Anwendung neu gestartet werden. Wenn Sie über große Anwendungen und komplexe Anwendungen mit erheblichem Arbeitsspeicherbedarf verfügen, kann der Speicherverbrauch erhöht werden. Wenn Sie die Anwendung neu starten, können Supportprobleme auftreten. Dies schließt den Verlust des Benutzersitzungsstatus ein.

Was ist die Xcopy-Bereitstellung?

Die Xcopy-Bereitstellung beschreibt die Bereitstellung in ASP.NET, in der Sie das Drag-and-Drop-Feature in Microsoft Windows Explorer, File Transfer Protocol (FTP) oder den DOS-Befehl Xcopy verwenden, um Dateien von einem Speicherort an einen anderen zu kopieren. Die ASP.NET-Anwendung erfordert keine Änderungen an der Registrierung und hat keine speziellen Installationsanforderungen für das Hostunternehmen auf gehosteten Websites.

Die Vorteile der Xcopy-Bereitstellung

Eine Dateiübertragung im Xcopy-Stil vereinfacht die Bereitstellung und Wartung von ASP.NET Websites, da Sie keine Registrierungseinträge vornehmen und keine Komponenten registrieren. Die Microsoft .NET-Anwendungen beschreiben sich selbst, in der Regel ohne Abhängigkeiten. Mit der Assemblyversionsverwaltung können Sie sogar eine neue Kopie einer DYNAMIC Link Library (DLL) kopieren, die von der Anwendung verwendet wird, ohne den Webserver zu beenden.

Die Unterschiede zwischen der Xcopy-Bereitstellung und Project kopieren in Visual Studio .NET

Für die Xcopy-Bereitstellung müssen Sie keine spezielle Software auf dem Entwicklungscomputer oder auf dem Webserver installieren. Die Visual Studio .NET Copy Project-Methode erfordert, dass Sie Microsoft FrontPage-Servererweiterungen (FPSE) auf dem Remoteserver installieren. Mit Xcopy können Sie auch nur die zuletzt bearbeiteten Dateien ersetzen. Sie können die Dateien entweder manuell auswählen, um sie zu ersetzen, oder Sie können die /d Option für den Xcopy Befehl verwenden, um das Datum wie folgt anzugeben:

xcopy source [destination] /D:m-d-y

Festlegen des virtuellen Verzeichnisses als IIS-Anwendung

Wenn Sie das Zielverzeichnis noch nicht eingerichtet haben, müssen Sie es als Anwendung in Microsoft-Internetinformationsdienste (IIS) einrichten, bevor Sie die Dateien übertragen. Führen Sie die folgenden Schritte aus, um das virtuelle Verzeichnis einzurichten:

  1. Klicken Sie auf "Start", zeigen Sie auf "Programme", zeigen Sie auf "Verwaltungstools", und klicken Sie dann auf "Internetdienste-Manager".
  2. Klicken Sie im linken Bereich mit der rechten Maustaste auf den Namen des virtuellen Verzeichnisses, und klicken Sie dann auf "Eigenschaften".
  3. Stellen Sie sicher, dass der Websitename oder der Name des virtuellen Verzeichnisses im Feld "Anwendungsname" unter "Anwendung Einstellungen" aufgeführt ist. Wenn dies nicht der Grund ist, klicken Sie auf "Erstellen".

Problembehandlung

In einigen Fällen können Sie die Bereitstellung der ASP.NET Webanwendung nicht allein über die Xcopy-Dateiübertragung abschließen. Diese Fälle umfassen die folgenden Fälle:

  • Assemblys, die eine Installation im globalen Assemblycache (Global Assembly Cache, GAC) erfordern. Wenn Sie assemblys freigeben müssen, die ASP.NET über mehrere Anwendungsdomänen hinweg verwendet, müssen Sie das Hilfsprogramm Gacutil.exe verwenden, um diese Assemblys im GAC zu registrieren. Bei jeder Bereitstellung der Anwendung müssen Sie die Registrierung aufheben, ersetzen und dann erneut registrieren.

  • Com-Interoperabilität (Component Object Model). Wenn die ASP.NET Anwendung COM-Komponenten über COM-Interoperabilität verwendet, müssen Sie diese COM-Komponenten bei COM+ Services registrieren.

  • Serviced components. Microsoft empfiehlt, das Dienstprogramm Regsvcs.exe zu verwenden, um alle Klassen zu registrieren, die COM+-Dienste verwenden (die von der System.EnterpriseServices.ServicedComponent Klasse abgeleitet sind).

References