2009-06-19 3 views
0

J'ai un objet mappé sur mon serveur (objets représentant des clients, commandes, éléments, liés les uns aux autres, basé sur le contenu d'une base de données) et je veux garder une version à jour de cette carte dans le navigateur où l'utilisateur est la manipulation et la visualisation des données.Entrée sur la façon de synchroniser le mappage d'objet entre le navigateur (javascript) et le serveur (service web/base de données asp.net)?

Comme plus d'utilisateurs peuvent accéder et modifier la même mappe d'objets en même temps, j'ai besoin d'un moyen de garder les clients en synchronisation avec le serveur.

Mon environnement de serveur est basé sur .net/asp.net 3.5 sp1, et le client doit fonctionner dans un navigateur (html/javascript). J'envisage d'utiliser asp.net ajax 4.0 en raison de ses capacités de liaison de données et des collections observables sur le côté client, et en utilisant quelque chose comme le service .net ria ou les services de données ado.net sur le serveur.

Si quelqu'un a une expérience ou connaît des articles de blog/tutoriels/documents de recherche/articles/vous l'appelez, sur le sujet, j'apprécierais vraiment un lien ou un commentaire.

Cordialement, Egil.

Répondre

1

Concurrency control est une zone complexe et est plus une question de conception, plutôt que ce que les outils côté client/AJAX à utiliser.

Par exemple:

  1. utilisateur A ouvre l'objet X (pour modifier si)
  2. utilisateur B ouvre objet X, modifie et enregistre

A cet utilisateur point A sera écraserait utilisateur Les changements de B lors de la sauvegarde (aka last-in-wins). Il n'y a pas de solution unique à ce problème. Et même si choisir les bons outils/bibliothèques pour le travail est important, quelle version d'ASP.NET AJAX vous utilisez est le moindre de vos soucis ici.

Voici un short article sur le sujet qui parle des architectures client/serveur. Il est écrit en termes simples et est une très belle introduction au problème auquel vous songez.

+0

Merci pour les commentaires et les liens. Je comprends le problème de base et les défis du contrôle de concurrence. Il n'a peut-être pas été clair ma question initiale que je cherche des informations sur la façon de le faire dans mon environnement - navigateur/javascript avec un service web .net à l'autre extrémité. Rappelez-vous, je n'essaie certainement pas de faire quelque chose d'aussi avancé que Google Wave, c'est-à-dire que je n'ai pas besoin de synchronisation caractère par caractère. –

Questions connexes