Hi,
welche Möglichkeiten gibt es, eine ASP.NET 5 mit MVC 6 Web Applikation zu verwenden, wenn das Gerät, dass sich Verbinden will temporär keine Internetverbindung oder eine extrem langsame hat.
Das kann z.B. auftreten, wenn ein Service Techniker mit dem UMTS Tablet beim Kunden ist. Wie kann er die eigentlich Server seitige Applikation offline benutzen und die Daten später synchronisieren?
Gibts da was?
Gruß
camelord
Stichwort Localstorage. Darin kannst du Daten ablegen und später synchronisieren. Obs fertige libs für gibt, weiss ich grad nicht. Aber damit solltest du was finden.
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Kombination aus Cache-Manifest für Ressourcen und LocalStorage für Daten. Eine geeignete Architektur hilft dabei ungemein.
Bibliotheken zB für Angular gibt es wie Sand am Meer. LocalStorage alleine reicht nicht, da CSS und Co auch zwischengespeichert werden muss.
Davon abgeschnitten ist aber natürlich ASP.NET MVC.
Die Servertechnologie ist hierbei irrelevant, da es eine reine Clientfunktionalität abbildet.
Bei dieser Anforderung wäre eine reine Servertechnologie ein KO-Kriterium.
Viel leichter umzusetzen mit Hilfe einer Bibliothek wie Angular auf Basis einer Single Page Application und einer RESTful Schnittstelle auf dem Server, zB mit Hilfe von ASP.NET WebAPI.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
mist - dachte ich mir schon fast, dass reine Servertechnologien für solche Fälle in KO Kriterium sind..
Da meistens die Verbindung besteht, finde ich es aber Besser ASP.NET und MVC einzusetzen, da die Technologie einfach überragend ist.
Ich habe mir schon überlegt, eine zweite Applikation - eine universal App zu erstellen, die einen sehr abgespeckten Funktionsumfang hat, und in der ich die wichtigen Codeteile aus der Web Applikation wiederverwenden kann. Dies App synchronisiert dann, wenn die Möglichkeit besteht.
Nur eine Überlegung - wie würdet ihr das machen?
Web Applikation muss sein, da Kunden meines Kunden, schnell und einfach darauf zugreifen können müssen und genauso die Mitarbeiter meines Kunden.
Hi camelord,
ich verstehe das Problem nicht so richtig. Es ist doch klar, daß du eine Netzwerkverbindung benötigst, wenn du Daten zwischen Client und Server austauschen willst. Und wenn diese Verbindung zeitweise nicht verfügbar ist, muß du die Daten irgendwo auf dem Client zwischenspeichern, bis die Verbindung wieder besteht. Da haben ja Coffeebean und Abt schon einige Hinweise gegeben, wo du weiter recherchieren könntest. Die Wahl der Server-Technologie spielt doch da erstmal keine Rolle.
Christian
Weeks of programming can save you hours of planning
Nur eine Überlegung - wie würdet ihr das machen?
Ich würde das nicht nur so machem; ich mache das sogar bei meinen / unseren Applikationen genau so, wie ich es beschrieben habe.
Zugeben muss ich auch, dass die Bedeutung von MVC hier etwas sinkt, da moderne Webapplikationen nur noch die Daten via Json über die WebAPI laden und keine ganzen Views mehr.
Ohne etwas beim Client aufzubauen geht es nicht.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für eure Beiträge
Ich habe nen schönen Artikel gefunden:
ASP.NET MVC offline
Kennt ihr noch mehr Artikel/Videos?
camelord
Bevor Du auf die Idee kommst alle Seiten in das Manifest zu hauen:
Der Speicherplatz, was man per Manifest in den Browser (vor)laden kann, ist sehr begrenzt.
Schwankt zwischen 1MB IE, 5 MB Chrome Desktop und ohne Limit (Firefox Desktop) in Größe, aber sehr wohl in Menge (auf Android (2?3?) maximal 1024 Einträge).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Für mein Verständnis...
Wie soll es mit einer reinen webanwendung klappen,wenn garkeine Verbindung zum Server besteht?
Wenn die Verbindung einmal initial da war, kann ich mir das vorstellen, aber sind wäre das doch eher ein Scenario für eine echte Clientanwendung?!
Wurde hier eigentlich schon erklärt, wie man das lösen kann 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Geht vielleicht für diesen Thread zu weit - und vielleicht bin ich auch zu lange aus dem Web Thema heraus - aber wie bekomme ich, ohne lokale Applikation und ohne Serververbindung die JS und HTML Daten auf denn Laptop/Tablet ? Damit das ganze irgendwo gecached sein kann, muss ja mindestens einmal die Verbindung hergestellt gewesen sein - richtig?
Aber das ist doch nichts persistentes, sondern kann jederzeit wieder weg sein.
Wie kann man auf diese Art eine verlässliche Anbindung bauen?
Sorry, dass ich den Thread etwas "kapere" aber das will mir noch nicht in den Kopf.
Manifest-Dateien.
Wieso googelst Du nicht einfach nach den Dateien bzw. Technologien, die wir hier nennen... 😉
muss ja mindestens einmal die Verbindung hergestellt gewesen sein - richtig?
Natürlich.
Aber das ist doch nichts persistentes, sondern kann jederzeit wieder weg sein
Doch.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke.
Ehrlich gesagt und um die Antwort auf die Google frage nicht schuldig zu bleiben: Ich bin bisher davon ausgegangen, ein manifest wäre eine Microsoft bzw. .NET spezifische Sache und konnte mir nicht vorstellen, wie das Einfluss auf die Client Seite haben kann.