Classic ASP "Wartungsarbeiten" - Seite
Bin ich ein paar Veränderungen vornehmen, um ein Erbe der klassischen ASP-Anwendung. Ich habe die änderungen lokal, und das will ich jetzt kopieren Sie die geänderten Dateien auf den server. Zur gleichen Zeit, die ich brauche zum herunterladen der Access-Datenbank, fügen Sie einige Felder in manchen Tabellen und laden Sie es erneut. Aus diesem Grund, ich brauche, um in der Lage zu stoppen die Besucher von der änderung der Datenbank, während dies geschieht.
Meine wichtigste Frage ist, was ist der beste Weg, um das setup ein schnelles "Down for Maintenance" - Seite, die angezeigt wird, sofort und egal, welche Seite der Besucher-Anfragen. Die Anwendung ist bereits etabliert, so möchte ich lieber eine Antwort, die nicht verlangen, mich zu überarbeiten, die Anwendung Architektur.
Meine zweite Frage (vielleicht sollte es eine separate Frage):
Gibt es eine bessere Möglichkeit zum hinzufügen von Feldern zu einer db-Tabelle als zu notieren, zu ändern, und kleben Sie es wieder? Bitte verzeiht mir falls das eine dumme Frage - ich bin neu in der ASP - neues Windows zu.
Ich habe nur FTP-Zugriff auf den remote-server.
Dank.
- Wenn Sie die Programmierung in ASP, Sie sind nicht mit einer Access-Datenbank, aber eine Jet-Datenbank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn du nur FTP-Zugriff auf den server (und keine Kontrolle über die IIS) legen Sie einfach eine Antwort.- redirect auf die "down for maintenace" - Seite in der alle asp-Seiten, und entfernen Sie Sie, wenn die Aktualisierung abgeschlossen ist.
Die änderungen an der Datenbank durchgeführt werden können, mit der ALTER TABLE-Anweisung.
zwei Möglichkeiten:
1
wenn Sie ein server-side include in jede asp-Seite, die Sie tun können, eine Antwort.Umleitung in, wie /upgrading.html
2
in global.asa, die Sie tun können eine Antwort.Umleitung in der Sitzung auf start-Ereignis. Dies ist wahrscheinlich der beste Weg. Funktioniert nur für .asp-Seiten nicht, wenn der Kunde kommt .html-Seite.
Haben Sie control panel Zugriff auf die Seite überhaupt?
Wenn ich verwendet, um führen Sie eine Reihe von ASP-Classic Seiten, die ich oft Sie ausgeschaltet ist, für die fünf Minuten, die erforderlich sind, um zu tun, was ich brauchte.
Unhöflich zu tun, um Ihre Besucher, die ich kenne.
Als andere haben gesagt, Sie könnten umgeleitet zu einer Seite, aber das wird nicht verhindern, dass die Menschen den Besuch von statischen Inhalten in html-Seiten, aber das ist dann wohl nicht so wichtig, es zumindest verhindert, dass Sie änderungen an der mdb, während Sie Sie herunterladen.
Es ist schade, dass ASP.net's app_offline.htm funktioniert nicht für ASP classic.
Andere option, die ich verwendet, um zu verwenden war default.htm Datei, die eine offline-Nachricht, und die Art und Weise von IIS setup default.htm überschrieb Standard.asp, also einfach hochladen default.htm geändert auf der homepage. Dies ist natürlich nicht aufhören, jemand mit einem der anderen .asp-Seiten.
Also keine wirkliche Antwort! Sorry.
Im Hinblick auf die "Down-Wartung" Seite Ausgabe können Sie und unter mapache Idee einen Schritt weiter, wenn es eine Datei enthalten (für eine Kopfzeile) in jeder der Seiten, die Sie setzen können, die Antwort.Umleiten in eine Datei und laden Sie, dass Sie im Ort. Dadurch wird vermieden, dass änderungen auf alle Seiten.
Eine weitere option ist das hochladen einer temp html-Datei, die wird gefunden, der zuerst von IIS. In IIS können Sie festlegen, welche Seite name.extern gesucht werden für eine domain/Ordner. Zum Beispiel, wenn Sie zum durchsuchen http://www.example.com Sie nicht geben Sie die Seite, die Sie suchen, so könnte es zu laden index.html oder index.htm zum Beispiel, je nach setup. Es wird davon abhängen, Ihre hosts-Konfiguration setup, aber ein bisschen von Versuch und Fehler, die ich bin sicher, dass Sie herausfinden können, welche Sie verwenden. Häufig sind für IIS default.htm, default.html, index.html und index.htm. Sie können dann legen Sie Sie in jedem der Ordner in der website (nicht ideal ich weiß), und führen Sie dann Ihre Wartung.
Wenn die Aktualisierung von Datenbanken, können Sie eine migration durchführen-Skript, geschrieben in sql, um das schema zu aktualisieren und die Daten von der db. Als Sie nur noch FTP-Zugriff, dies erfordert irgendeine Art von Seite Sie können fügen Sie den sql-in und laufen. Dies aber öffnet die Sicherheits-Probleme, so dass der Download der db, die änderungen vornehmen und dann wieder hochladen ist wahrscheinlich einfacher. Zusätzlich, es zu tun auf diese Weise können Sie die Datei auch speichern und Sie haben ein backup 🙂
Hoffe, das hilft.
Besser als eine include-Datei, nutzen Sie einfach die Global.asa.
In der Globalen.asa ist Application_onStart, fügen Sie
oben alle Ihre ASP-Dateien, fügen Sie
(Die Doppel -, wenn bekommt, um die fehlende VBScript-short-circuit-Operatoren, und daher keine Datentyp-Fehler.)
Könnte man sogar Global.asa code
Ermöglichen würde, die offline-Seite, wenn es vorhanden ist, wie ASP.NET. Jedoch die Anwendung starten Sie die code ist nur erneut analysiert, wenn der server zurückgesetzt wird (mit iisreset), oder wenn der Globale.asa-Datei ist geändert, lediglich das hinzufügen der App_Offline.htm wird nicht genug sein.
Fügen Sie folgenden code in web.config
<?xml version="1.0"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
</configuration>
Ort und app_offline unter root-Ordner. Dies funktionieren wird.