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

C# Discussion :

[C#]Problemes de semaphores


Sujet :

C#

  1. #1
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut [C#]Problemes de semaphores
    Bonjour à tous,

    J'ai besoin d'un petit coup de main. J'ai un problème lorsque je ferme mon application; cette dernière génère une erreur que je ne comprends pas:

    Intitulé: SémaphoreFullException
    Description: L'ajout du nombre donné au sémaphore forcerait ce dernier à dépasser son nombre maximal autorisé.

    J'ai une solution contenant 2 projets, un projet principal et une librairie de controles. J'ai ce problème depuis que j'ai importé mon projet sur un autre pc pour travailler dessus.

    Toute aide est la bienvenue.

    Merci d'avance

    Frak


    EDIT: Je précise également que je me connecte à une base de données MySQL et que si je ne m'y connecte pas je n'ai plus ce problème. Autrechose aussi, je ferme bien apres chaque connection.

  2. #2
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    Voila j'ai un peu isolé le problème mais je n'ai pas de solutions. Voici le code qui pose probleme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    using System;
    using System.Collections.Generic;
    using System.Text;
    using MySql.Data;
    using MySql.Data.MySqlClient;
    
    namespace ConfigurationTool
    {
        class DAConfig
        {
            MySqlConnection Connection;
            
            //Command
            MySqlCommand myCmdComputer = new MySqlCommand();
            MySqlCommand myCmdDiscInfo = new MySqlCommand();
            
            //DataAdapters
            public static MySqlDataAdapter myDAComputer = new MySqlDataAdapter();
            public static MySqlDataAdapter myDADiscInfo = new MySqlDataAdapter();
    
            public DAConfig()
            {
                if (myDAComputer.SelectCommand == null)
                {
                    MySqlCommandBuilder myCB;
                    Connection = DataLayer.Connection;
    
                    //Computer
                    /*myCmdComputer.Connection = Connection;
                    myDAComputer.SelectCommand = new MySqlCommand("SELECT * FROM Computer", Connection);
                    myCB = new MySqlCommandBuilder(myDAComputer);
                    myDAComputer.InsertCommand = myCB.GetInsertCommand();
                    myDAComputer.UpdateCommand = myCB.GetUpdateCommand();
                    myDAComputer.DeleteCommand = myCB.GetDeleteCommand();*/
    
                    //Disques
                    myCmdDiscInfo.Connection = Connection;
                    myDADiscInfo.SelectCommand = new MySqlCommand("SELECT * FROM DiscInfo", Connection);
                    myCB = new MySqlCommandBuilder(myDADiscInfo);
                    myDADiscInfo.InsertCommand = myCB.GetInsertCommand();
                    myDADiscInfo.UpdateCommand = myCB.GetUpdateCommand();
                    myDADiscInfo.DeleteCommand = myCB.GetDeleteCommand();
                }
            }
    [...]
    J'ai mis en orange le code qui provoque l'exception. Si je commente le premier OU le second bloc, je n'ai pas d'exception lorsque je ferme mon application. C'est bizarre. Il ne s'agit pourtant que de l'initialisation de DataAdapter.

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    As tu un nombre de connexion limitée à ta base de données ?
    Parce que j'ai l'impression que cela te jette par ce que tu es connecté plus d'une fois en même temps, et qu'une règle l'interdit.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. Probleme de gestion de semaphore
    Par midou256 dans le forum C++/CLI
    Réponses: 13
    Dernier message: 12/09/2013, 01h02
  2. Probleme des semaphores sous linux
    Par hacamzig dans le forum Linux
    Réponses: 0
    Dernier message: 01/04/2010, 11h40
  3. Probleme semaphore+files de message
    Par ludo86 dans le forum C
    Réponses: 0
    Dernier message: 16/12/2007, 17h04
  4. Probleme Avec Les Semaphores
    Par vbcasimir dans le forum Oracle
    Réponses: 4
    Dernier message: 05/07/2006, 12h04
  5. Probleme synchronize et semaphore
    Par rvzip64 dans le forum Langage
    Réponses: 1
    Dernier message: 03/05/2006, 19h20

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