2014-07-03 3 views
0

Je commence à travailler sur l'utilisation du stockage local pour mon application API ASP.NET MVC/Web. (L'utilisation de toutes les technologies ici est très récente.)Création d'un contrôleur/modèle ASP.NET MVC Stockage local

L'application permet à un utilisateur au bureau de sélectionner la feuille d'exécution (liste des paquets à livrer) puis une copie de toutes les données de cette série. feuille est stockée dans le stockage local du navigateur. L'utilisateur livre alors tous les paquets, en enregistrant les livraisons dans le stockage local et à son retour au bureau toutes les livraisons sont transférées du stockage local à la base de données sur le serveur. Ou du moins c'est comme ça que ça doit fonctionner. :)

Je reçois tous les détails de la feuille d'exécution de la base de données et de les afficher, pas de problème, la première fois en utilisant ce code:

public ActionResult Index(Guid id) 
{ 
    RunSheetDetailsListViewModel vm = new RunSheetDetailsListViewModel(); 
    var query = this._unit.RunSheetDetails.GetByRunSheetId(id); 
    vm.RunSheetDetails = query.ToList(); 

    return View("Index", vm); 
} 

Dans mon Index.cshtml j'ai ceci:

var vm = new ViewModel(); 

    var serialized = JSON.stringify(vm.runSheetDetails()); 

    runsheetdetailsDataService.saveLocal(serialized); 

dans la fonction jquery ready.

Ceci enregistre apparemment les données correctement dans le stockage local. Maintenant, lorsque l'utilisateur n'est pas connecté au serveur, comment puis-je dire à Index ActionResult de tirer les données du stockage local plutôt que la base de données?

+4

Votre contrôleur ou l'action Index ne connaît rien à votre client ou votre navigateur, vous devez donc gérer ce client. Le stockage local est une fonction de navigation à 100%, ne connaissant aucune application ou code côté serveur ou logique connectée/déconnectée. Par ailleurs, comment appelez-vous l'action Index lorsque l'utilisateur n'est pas connecté au serveur? Assez pour penser à .... – Jeroen1984

+2

L'action d'index est côté serveur, s'ils ne sont pas connectés à Internet/serveur, il n'y a aucune manière que l'action fonctionne de toute façon –

Répondre

0

Il serait préférable de créer une application native capable de faire cela. Comme alors la logique métier sera dans la paume de la main, puis sur retour à la base, l'application pourra télécharger les nouvelles données.