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

Services Web Discussion :

Services Web et connexion Bdd ?


Sujet :

Services Web

  1. #1
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut Services Web et connexion Bdd ?
    Bonjour à tous !

    Voilà, je compte développer une application (type client lourd en WPF) qui fonctionnerait avec un service web.

    Au démarrage du client, je compte récupérer tout un tas de données depuis le serveur web.

    J'ai commencé un peu le développement de mon application et je me suis rendu compte d'un truc, c'est le nombre d'accès à la base de données !

    Si au lancement de mon client je fais :
    - getClients();
    - getCommandes();
    - getMachin();
    - getTruc();
    - etc.

    Pour chaque fonction, j'ouvre une connexion à la Bdd, je fais ma requête, je retourne un flux XML et je ferme la connexion... et donc ça se produit près d'une 10aine de fois !

    En supposant que mon application soit utilisé par une 100aine d'utilisateurs en même temps, est-ce que tous ces accès et requêtes ne vont pas mettre à genoux mon serveur de Bdd ?

    Y'a-t-il un problème de conception ou simplement une astuce à mettre en place pour éviter ce genre de problème ?

    Merci d'avance pour votre aide !
    Lionel.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Par défaut
    Salut pot2yaourt,

    si je serais toi, je ferais un pool de connexion, au lieu de créer chaque fois une nouvelle connexion dans chaque méthode!

    Cédric

  3. #3
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut
    Salut !

    Euh... je vois pas bien comment faire pour garder la connexion à la Bdd ouverte puisqu'à chaque appel d'une méthode de mon service web, c'est une nouvelle instance qui se crée.

    Il y'a peut-être une manip avec des Cookies je crois... mais je ne saurais pas trop comment y mettre en place.

    Lionel.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Par défaut
    Voici un exemple parmi tant d'autre:


    J'avais une classe sqlConnect qui se charge de créer la connexion à SQL Serveur comme suit:

    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
     
    	public class SqlConnect
    	{
    		SqlConnection myConnection;
     
    		public SqlConnect(string UserId, string Pwd, string Server, string DataSrc, string Db, bool Security)
    		{
    			myConnection = new SqlConnection();
    			myConnection.ConnectionString = "user ID=" + UserId + ";pwd=" + Pwd + ";server=" + Server + ";data source=" + DataSrc + ";database=" + Db + ";integrated security=" + Security + ";Asynchronous Processing=true";
    		}
     
    		public SqlConnection getSqlConnection()
    		{
    			return myConnection;
    		}
    	}
    Ensuite j'avais une autre classe "acheteur" qui a la méthode insert pour insérer un nouvel acheteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    		public int insert(SqlConnection myConnection)
    		{
     
    			myConnection.Open();
                                          ....
                                          //Exécuter la requête
     
    			myConnection.Close();
    		}
    Es-ce que cela éclairci tes idées?

    Cédric

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/11/2014, 16h25
  2. créer un service web en connexion avec une BDD
    Par mouned dans le forum Services Web
    Réponses: 5
    Dernier message: 30/03/2012, 19h27
  3. Service Web pour connexion avec un OTP (One Time Password)
    Par bulldo dans le forum Services Web
    Réponses: 4
    Dernier message: 28/12/2011, 21h06
  4. [Infopath 2007] Service Web et Connexions de données
    Par Enthau dans le forum InfoPath
    Réponses: 2
    Dernier message: 08/04/2008, 13h25
  5. Réponses: 4
    Dernier message: 06/03/2008, 13h08

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