Ich wurde beauftragt, die Web App meines Unternehmens offline verfügbar zu machen. Bevor ich in die eigentliche Entwicklungsphase gehe, möchte ich sicher sein, dass meine derzeitige Strategie nicht zu einer Pleite wird.Machen Sie ASP.Net (C#) Web App offline verfügbar
Zuerst dachte ich über die Verwendung von html5 App-Cache, aber nach einigen Tests habe ich festgestellt, dass es nicht die serverseitigen Operationen, sondern die tatsächliche HTML-Code im Cache speichert (Bitte korrigieren Sie mich, wenn ich falsch liege). Dies funktioniert nicht, da das gerenderte HTML davon abhängt, wer gerade eingeloggt ist. Von meinen Tests hat es immer das HTML gerendert, als ob sich die letzte angemeldete Person (online) anmeldet.
Meine aktuelle Strategie ist diese: Ich zwischenspeichern nur die Anmeldeseite und eine Offline-Seite (.html), die jeder aspx-Seite entspricht, die offline verfügbar sein muss. Jede erfolgreiche Anmeldung (online) führt zum Erstellen oder Aktualisieren der Web SQL-Datenbank oder IndexDB (abhängig vom Browser) mit allen Daten, die diese Person benötigt, um offline zu arbeiten, einschließlich einer Tabelle, die für Anmeldedaten verwendet wird. Auf diese Weise besteht die einzige Voraussetzung für die Offline-Anmeldung darin, sich mindestens einmal mit Ihren Zugangsdaten einzuloggen.
Meine Sorge ist, dass ich es überkomplizieren. Damit dies funktioniert, muss ich für jede aktuelle Seite (viele Seiten) eine HTML-Seite erstellen und alles, was gerade auf dem Server ausgeführt wird, in JavaScript neu schreiben, einschließlich Validierung, Datenbankaufrufen und Steuerelementen wie Dropdown-Listen und Daten-Grids usw. Auch alles, was ich in Zukunft ändern werde, erfordert eine anschließende Offline-Änderung.
Gibt es eine etablierte Best Practice für das, was ich versuche zu tun, das ich übersehe, oder wage ich es, in neue Wege zu gehen?
Ich bin kein Experte, aber hier es klingt wie Sie verschiedene Benutzer melden Sie sich bei Ihrer Website haben müssen, die alle aus der gleiche Browsersitzung und alle getrennt? Das scheint ein schwieriges Szenario zu sein, bei dem Sie Benutzernamen und Kennwörter auf Ihrem Client zwischenspeichern müssen. Wahrscheinlich eine gefährliche Übung. – andleer
Vielen Dank für Ihre Antwort. Wenn ich Sie richtig verstehe, denke ich, dass Sie meine Strategie falsch verstehen. Es ist geplant, dass jeder, der sich zuvor im Online-Modus angemeldet hat, später im Offline-Modus arbeiten kann. Der normale Fall für die App, die ich entwickle, ist, dass es von einem Vorarbeiter auf einem mobilen Gerät (iPhone, Droid, Tablet, etc.) zugegriffen wird, so dass normalerweise die gleiche Person das gleiche Gerät verwenden würde. Wollen Sie sagen, dass das Speichern von Passwörtern über Web SQL oder IndexDB gefährlich ist? Wenn ja warum? –
Sicherlich Speichern von Benutzername und Passwort auf dem Client möglicherweise keine gute Praxis zur gleichen Zeit, was scheint scheint zu sein, scheint ein echtes Problem zu sein. Im Idealfall, wenn die Endbenutzer Zugriff auf das Offline-System haben möchten, muss er auch online authentifiziert werden und seine Arbeit offline fortsetzen und online synchronisieren. Ich würde denken, etwas wie Silverlight zu verwenden, aber es scheint ein Problem in Bezug auf Clients zu geben, die auf silverlight zugreifen, also ist Isolierter Speicher die einzige verbleibende Option. –