Bonjour,

je suis en train de développer un service C# composé d'un traitement principal (tâche main) et d'une tâche exécutée toutes les X secondes via un timer tâche timer)...

Les 2 tâches utilisent une connexion à une base de données. Pour cette connexion, j'ai défini une classe qui la gère de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
class ConnexionDB{
  public SqlConnection bd1;
  public SqlConnection bd2;
  ConnexionDB(){
    bd1 = connexion à la BD1;
    bd2 = connexion à la BD2;
  }
}
Dans mon programme principal, j'instancie un objet de ma classe de connexion à la BD et je passe cet objet en paramètre au différentes méthodes en ayant besoin.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
public main()
{
  ConnexionDB objet1 = new ConnexionDB();
  ConnexionDB objet2 = new ConnexionDB();
....
   myObjet.myMethod2(objet1.bd1);
   myObjet.myMethod2(objet1.bd2);
}
Les petites questions que je me pose sont les suivante :

En cas d'utilisation simultanée de l'objet de connexion à la BD par la tâche Main et la tâche Timer, ne va-t-il pas y avoir un souci ?
Puis-je instancier 2 objets de la classe connexion à la BD ? l'un pour la tâche Main et l'autre pour la tâche Timer ? Sachant que dans la méthode de connexion utilisera les mêmes paramètres pour se connecter, ne va-t-il pas y avoir d'incompatibilité à créer 2 objets du même type ConnexionDB ?

Merci de votre aide et de vos conseils...