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

ASP.NET Discussion :

FileStream, Lock et accès synchronisé


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 4
    Par défaut FileStream, Lock et accès synchronisé
    Bonjour,

    Disons que j'ai plusieurs serveurs Web allant lire/écrire dans dans un fichier partagé sur un Network Drive. Je risque d'avoir assez vite des problèmes de synchronisation de données au sein de ce fichier.

    Si un des serveurs Web verrouille une section du fichier via FileStream.Lock,

    a.) Est-ce que cette instruction aura effet seulement pour les autres processus de ce serveur?
    b.) Ou est-ce que ca aura également effet pour les processus des autres serveurs?

    Merci beaucoup,
    Michel.

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Réponse b.) ca aura également effet pour tous les process.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 4
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Réponse b.) ca aura également effet pour tous les process.
    Merci pour la réponse! Je me disais aussi que le protocole de Microsoft devait forcément gérer cela.

    Et dire qu'au paravant, je développais toujours des serveurs alternatifs pour gérer la concurency au niveau des fichiers. Caline, parfois, on aime se donner du mal pour rient

    Michel

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,
    Citation Envoyé par George W. Bush Voir le message
    Et dire qu'au paravant, je développais toujours des serveurs alternatifs pour gérer la concurency au niveau des fichiers. Caline, parfois, on aime se donner du mal pour rient
    Je comprend pas trop cette remarque.

    Pour le fichier, il s'agit d'une ressource particulière car potentiellement accessible par plusieurs processus en même temps. Tu n'as pas trop le choix, il faut gérer une file d'attente car il ne peut pas y avoir d'accès concurrent. Si tu as vraiment besoin de travailler avec ce fichier, tu dois utiliser un singleton qui gérera les demandes d'écriture.

    La meilleur solution reste l'utilisation d'une base de données.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 4
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Salut,Je comprend pas trop cette remarque.

    Pour le fichier, il s'agit d'une ressource particulière car potentiellement accessible par plusieurs processus en même temps. Tu n'as pas trop le choix, il faut gérer une file d'attente car il ne peut pas y avoir d'accès concurrent. Si tu as vraiment besoin de travailler avec ce fichier, tu dois utiliser un singleton qui gérera les demandes d'écriture.

    La meilleur solution reste l'utilisation d'une base de données.

    A+
    Je n'avais pas pensé a la file d'attente, mais d'un autre coté, dans mon cas, l'usager devrait avoir accès seulement a 1 section bien déterminé. Donc un Lock devrait faire l'affaire pour éviter les problèmes de concurence.


    Quant aux DB, je suis de la vieille école : DB = utilisation dans le cadre de données complexe. DAns mon cas présent, j'ai besoin de grande performances. Quoi qu'on en dise, du Built-IN sera toujours plus rapide, et je suis pret a mettre l'énergie qu'il faut pour gérer le code d'accès aux fichiers.

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par George W. Bush Voir le message
    Quant aux DB, je suis de la vieille école : DB = utilisation dans le cadre de données complexe.
    Ok...
    Citation Envoyé par George W. Bush Voir le message
    DAns mon cas présent, j'ai besoin de grande performances.
    Ben je suis curieux de voir ce que cela donne. Si d'une façon où d'une autre tu bloques ton code en attendant qu'un thread ait terminé d'utiliser une ressource, je vois pas où est le gain de performance. J'attend de voir...
    Citation Envoyé par George W. Bush Voir le message
    Quoi qu'on en dise, du Built-IN sera toujours plus rapide
    Tu peux préciser "Built-IN"? Dans le contexte, je ne comprend pas.A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Réponses: 18
    Dernier message: 26/07/2011, 16h08
  2. Accès concurrent / lock
    Par stof dans le forum PL/SQL
    Réponses: 8
    Dernier message: 16/12/2010, 10h49
  3. [MySQL] Concurrence d'accès entre 2 scripts PHP en parallèle : LOCK TABLES semble inefficace
    Par brunoperel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/11/2010, 17h27
  4. [Multi-thread] Comment lock l'acces a un containeur de la STL ?
    Par Izidor's dans le forum Threads & Processus
    Réponses: 5
    Dernier message: 14/10/2009, 12h09
  5. Empêcher l'accès simultané a une variable - js lock?
    Par goldou321 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2008, 09h17

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