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

Microsoft Azure Discussion :

3 instances d'une WEB APP & accès concurent à un objet.


Sujet :

Microsoft Azure

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 133
    Points : 47
    Points
    47
    Par défaut 3 instances d'une WEB APP & accès concurent à un objet.
    Bonjour à tous,
    voilà nous avons déployé sur Azure une application web MVC sous frome d'une Web app mais en 3 instances.
    J'ai un objet data_lock comme ceci dans la code, pour gérer les accès concurrent sur un chemin de données DATA.

    protected void Application_Start()
    {
    private static object data_lock = new object();
    ...

    lock(data_lock)
    {

    Ecriture dans un chemin(C:\...\Data)
    }

    }
    Ces 3 instances tentent d'accéder au même répertoire Data. Celle qui fait le travail dedans la première, les autres ne doivent pas le faire. Donc j'ai le code qui contrôle ça.
    Mon problème vu que j'ai 3 instances elles sont indépendantes donc le lock ne marche pas car la variable data_lock est spécifique à chaque instance. Et donc les instances des fois elles arrivent à accéder en même temps sur le chemin et ça crée une instabilité dans le site. Si j'avais une seule instance, le problème ne se serait pas posé.

    En gros j'ai besoin d'écrire dans le chemin DATA. Il faut que ce soit une seule instance qui puisse y accéder jusqu'à ce qu'elle libère la ressource. Après l'autre instance si elle y accède elle ne fera rien car l'instance d'avant a déjà fait le travail qu'i l fallait faire dans le répertoire DATA.
    Merci pour votre aide.
    Ps: j'ai trouvé des notions genre mutex distribué , mais s'il y a une solution plus adapté je suis preneur.
    Merci beaucoup.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    je crois que c'est le semaphore (semaphorelight doit etre mieux) qui permet de faire un lock entre plusieurs processus

    une autre solution est de rendre une application maitre (ou mieux d'en faire une 4ème) qui est la seule à pouvoir accéder au dossier via le lock, et tous les applis lui font des demandes (via une api par exemple)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [JBoss tool] Comment lancer une web app avec JBoos tool
    Par kij dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 17/04/2009, 10h44
  2. Basic authentification pour une web-app
    Par cbfr13 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 26/02/2009, 15h01
  3. [Eclipse] export de fichiers de conf dans une web app
    Par Patriarch24 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/08/2008, 16h25
  4. Réponses: 5
    Dernier message: 22/09/2006, 03h13
  5. Tomcat 5.5 ( gestion des privilèges d'une web app )
    Par mick72 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 03/09/2005, 06h54

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