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

Dieser Artikel beschreibt die Verwendung von MS DOS-Befehls Xcopy zum Bereitstellen einer Microsoft ASP.NET-Webanwendung.

              Originale Produktversion: 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 für Branchenanwendungen empfehlen wir, die Site vorübergehend offline zu schalten. Sie sollten dies tun, während der neue Inhalt und die Anwendungsassemblys bereitgestellt werden. Sie können diese Wartung zu einem geeigneten, geplanten Zeitpunkt durchführen. Um die geplante Ausfallzeit zu minimieren, führen Sie die folgenden Schritte aus:

  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 so um, dass die Anwendung auf das neue physische Verzeichnis mit dem neuen Inhalt verweist.

    Hinweis

    Wenn Sie neuen Inhalt für eine ASP.NET-Webanwendung bereitstellen, wird die Anwendung möglicherweise neu gestartet. Wenn Sie über große Anwendungen verfügen oder über komplexe Anwendungen, die einen erheblichen Speicherbedarf haben, kann der Speicherverbrauch erhöht werden. Wenn Sie die Anwendung neu starten, können Probleme mit der Unterstützung auftreten. Dies schließt den Verlust des Benutzersitzungsstatus ein.

Was ist die Xcopy-Bereitstellung?

Die Xcopy-Bereitstellung beschreibt die Bereitstellung in ASP.NET, bei der Sie die Drag-and-Drop-Funktion in Microsoft Windows Explorer, das FTP (File Transfer Protocol) oder den DOS-Befehl Xcopy zum Kopieren von Dateien von einem Ort zum anderen verwenden. Die ASP.NET-Anwendung erfordert keine Änderungen an der Registrierung und hat keine besonderen Installationsanforderungen für das Hostunternehmen auf gehosteten Sites.

Die Vorteile der Xcopy-Bereitstellung

Eine Dateiübertragung im Xcopy-Stil vereinfacht die Bereitstellung und Wartung von ASP.NET-Sites, da Sie keine Registrierungseinträge vornehmen müssen und keine Komponenten registrieren. Die Microsoft .NET-Anwendungen sind selbstbeschreibend, 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 stoppen.

Die Unterschiede zwischen der Xcopy-Bereitstellung und der Funktion „Projekt kopieren“ in Visual Studio .NET

Die Xcopy-Bereitstellung erfordert keine Installation spezieller Software auf dem Entwicklungscomputer oder auf dem Webserver. Die Methode „Projekt kopieren“ von Visual Studio .NET erfordert, dass Sie Microsoft FrontPage-Servererweiterungen (FPSE) auf dem Remoteserver installieren. Mit Xcopy können Sie außerdem nur die zuletzt bearbeiteten Dateien ersetzen. Sie können die Dateien entweder manuell auswählen, um sie zu ersetzen, oder Sie können mit dem Befehl Xcopy den Schalter /d verwenden, um das Datum wie folgt anzugeben:

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

Festlegen des virtuellen Verzeichnises 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. Gehen Sie folgendermaßen vor, um das virtuelle Verzeichnis einzurichten:

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann Sie auf Verwaltung, und klicken Sie auf Internetdienste-Manager.
  2. Klicken Sie im linken Bereich mit der rechten Maustaste auf den Namen Ihres virtuellen Verzeichnisses, und klicken Sie dann auf Eigenschaften.
  3. Stellen Sie sicher, dass der Name der Website oder der Name des virtuellen Verzeichnisses im Feld Anwendungsname unter Anwendungseinstellungen aufgeführt ist. Wenn dies nicht der Fall 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. Zu diesen Fällen gehören die folgenden:

  • Assemblys, die eine Installation im Global Assembly Cache (GAC) erfordern. Wenn Sie eine der von ASP.NET verwendeten Assemblys für mehrere Anwendungsdomänen freigeben müssen, müssen Sie das Dienstprogramm „Gacutil.exe“ verwenden, um diese Assemblys im GAC zu registrieren. Sie müssen die Registrierung von Assemblys jedes Mal aufheben, ersetzen und dann erneut registrieren, wenn Sie die Anwendung bereitstellen.

  • Component Object Model (COM)-Interop. Wenn die ASP.NET-Anwendung COM-Komponenten über COM-Interop verwendet, müssen Sie diese COM-Komponenten bei COM+-Diensten registrieren.

  • Gewartete Komponenten. Microsoft empfiehlt, dass Sie das Dienstprogramm „Regsvcs.exe“ verwenden, um alle Klassen zu registrieren, die COM+-Dienste verwenden (die von der System.EnterpriseServices.ServicedComponent-Klasse abgeleitet sind).

References