IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

un utilisateur est entrain de modifier une donnée un autre ne puisse pas le modifier


Sujet :

Silverlight

  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 45
    Par défaut un utilisateur est entrain de modifier une donnée un autre ne puisse pas le modifier
    Bonjour,
    Je mets en place une application Silverlight Business Application et je voulais savoir comment on peut faire en sorte que lorsqu'un utilisateur est entrain de modifier une donnée un autre ne puisse pas le modifier.
    Est ce qu'il y a une pratique ou méthode pour faire ça?

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    C'est un probleme d'acces concurrent ( lock optimiste/pessimiste)
    En silverlight tu n'as pas acces aux données directement, le soucis n'est pas donc pas a proprement parler a ce niveau.
    Il me semble qu'il y a des mecanismes implementés dans entity framework et wcf dataservices pour gérer ces problemes.
    En fait je recherche plus de precision moi aussi .

  3. #3
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Je pense aussi que c'est un pb de base de donnée.

    Si tu as besoin de réserver des données pendant un certain temps (de l'ordre de plusieurs minutes), tu peux rajouter à ta donnée deux colonnes : l'id de l'utilisateur qui réserve la donnée et l'heure à laquelle la réservation est effectuée.

    Ainsi si une personne veut réserver une donnée, elle vérifiera à la fois si qq à déjà réservé la donnée et si cette réservation est toujours valide (réservation < 20 min par exemple). Si la personne quitte brutalement l'application, la donnée sera libéré toute seule (au bout de 20 min max).

    C'est juste une idée

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Si tu as besoin de réserver des données pendant un certain temps (de l'ordre de plusieurs minutes), tu peux rajouter à ta donnée deux colonnes : l'id de l'utilisateur qui réserve la donnée et l'heure à laquelle la réservation est effectuée.

    Ainsi si une personne veut réserver une donnée, elle vérifiera à la fois si qq à déjà réservé la donnée et si cette réservation est toujours valide (réservation < 20 min par exemple). Si la personne quitte brutalement l'application, la donnée sera libéré toute seule (au bout de 20 min max).
    La gestion de la synchronisation est une problématique technique qui ne devrait pas polluer le modèle métier.

    Il faut au contraire la gérer dans une couche dédiée sur le serveur : au mieux cela est intégré au SGBD, à EF ou à WCF data-services, au pire il faut implémenter un système de lock dans le WS qui gère l'accès aux données.

  5. #5
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    La gestion de la synchronisation est une problématique technique qui ne devrait pas polluer le modèle métier.
    Pour ma part je parlais de réservation de donnée et non de synchronisation ce qui n'est pas du tout la même chose. Et je ne vois pas en quoi la réservation ne peut faire partir de la problématique métier

  6. #6
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Pour ma part je parlais de réservation de donnée et non de synchronisation ce qui n'est pas du tout la même chose. Et je ne vois pas en quoi la réservation ne peut faire partir de la problématique métier
    Disons que j'ai interprété :
    lorsqu'un utilisateur est entrain de modifier une donnée un autre ne puisse pas le modifier
    comme une problématique de synchronisation d'accès.

    Et je ne vois pas en quoi la réservation ne peut faire partir de la problématique métier
    En effet, il faudrait plus de détails sur la problématique du PO.

  7. #7
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 45
    Par défaut
    Re,
    Merci, vos post m'ont bien aidé. Avec cela, j'ai trouvé un petit article sur l'acces concurentiel avec EF.
    Encore merci.

  8. #8
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 45
    Par défaut
    Effectivement, mon problème est la reservation de donnée et non la synchronisation.
    Merci pour votre aide

  9. #9
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut
    Hello,

    @otyv84: peux-tu partager le lien vers l'article que tu as trouvé?
    J'ai déjà implémenté de l'optimistic locking, mais jamais du pessimistic... Ca m'intéresse (je vois mal comment on fait).

    Merci
    A+
    Christophe

  10. #10
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 45
    Par défaut
    Je n'ai plus l'adresse, vraiment désolé ! Mais c'est sur MSDN, si ça peut aider !
    Sinon, ça marcherait plutot bien de reserver les données ...;

  11. #11
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut
    Concernant EF, j'ai vérifié dans le bouquin très complet de Julie Lerman: EF ne supporte que "l'optimistic locking" avec des options différentes de résolution du conflit...

    @otyv84: si tu ne retrouves plus le lien, peux-tu nous expliquer en 2 mots comment tu as finalement décidé de faire?

    Merci,
    A+

  12. #12
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 45
    Par défaut
    J'ai crée une table RESA (ID_Resa, Date, ID_Donnee, ID_User,Resa). Dans mon projet, quand je mets en place un bouton modifier qui rend visible le détail de la donnée à modifier et crée la RESA pour celui ci. En fait l'utilisateur reserve la donnée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier une donnée dans une base de données
    Par juliensmarties dans le forum VBA Word
    Réponses: 25
    Dernier message: 12/08/2008, 16h28
  2. Réponses: 1
    Dernier message: 01/03/2008, 12h01
  3. syntaxe pour modifier une données.
    Par mademoizel dans le forum ASP
    Réponses: 24
    Dernier message: 08/03/2007, 15h18
  4. Réponses: 8
    Dernier message: 31/07/2006, 12h52
  5. [MySQL] Modifier une donnée dans une table
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 02/02/2006, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo