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:
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.
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:
- Klicken Sie auf Start, zeigen Sie auf Programme, dann Sie auf Verwaltung, und klicken Sie auf Internetdienste-Manager.
- Klicken Sie im linken Bereich mit der rechten Maustaste auf den Namen Ihres virtuellen Verzeichnisses, und klicken Sie dann auf Eigenschaften.
- 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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für