Sofern Sie nicht bestimmte Dateien auf bestimmte Dateien überwachen, können Sie vorhandene ASPX-Dateien ohne Verlangsamung der Anwendung aktualisieren. Wenn der Benutzer das nächste Mal den Browser aktualisiert, wird die Aktualisierung der Seite angezeigt. Seien Sie jedoch vorsichtig, wenn Sie der Seite zusätzliche Serversteuerelemente hinzugefügt haben und die DLL noch nicht aktualisiert wurde, treten Probleme auf.
Wenn Sie die web.config- oder DLL-Dateien für die Anwendung aktualisieren, löst dies einen Neuladevorgang des ASPNET-Workerprozesses aus, und neue Benutzer erleiden die "erste Verzögerung", die Sie normalerweise erwarten können.
Wenn Sie diesen Prozess besorgt sind, und kann ein bisschen „down time“ leisten, ich würde vorschlagen, dass Sie ein Skript erstellen, die die folgenden:
Laden Sie eine Datei namens app_offline.htm zu die Wurzel der Webanwendung. IIS wird diese Datei sofort sehen und Benutzer dorthin umleiten und keine .NET-Verarbeitung vornehmen. Sie können sogar eine Datei mit dem Namen App_Offline_Disabled.htm im Stammverzeichnis behalten und sie einfach umbenennen, wenn die Zeit reif ist.
Kopieren Sie alle Dateien, die aktualisiert werden müssen, und überschreiben/umbenennen/kopieren, falls erforderlich.
Entfernen Sie (oder benennen Sie) Ihre App_Offline.htm-Datei um, damit IIS Benutzer zu der aktualisierten Anwendung leitet. Wenn Sie sich das Skript ansehen, können Sie sogar selbst auf die Website gehen, um die "First Load" Strafe zu bekommen, damit Ihre Endbenutzer die Dinge wie immer schön und knackig sehen.
Noch einmal, ich weiß nicht, ob Sie die Ausfallzeit auf der Website auf diese Weise leisten können, aber ich sehe den Prozess selbst als leicht skript für einen schönen automatisierte Art Prozess zu ermöglichen.
der 'monkeypatching' Tag nicht geeignet ist - das ist etwas ganz anderes –
Danke. Es versehentlich angeklickt. Gemeint ist "patchen" –