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 :

utilisation du web.config


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut utilisation du web.config
    Bonjour,
    Je suis en train de develloper un WS qui va interroger une bdd sur un server distant, j'ai donc besoin pour cela d'une connexionstring qui va faire la liaison.

    Dans un premier temps j'ai dabors mis la chaine de connexion en dur dans mon code, mais mon superviseur m'as dit qu'il etais préférable de la mettre dans le web.config.

    J'ai regardé a droite a gauche pour voir comment il fallait faire, mais ormis la config du web.config en lui meme, j'ai pas trouvé grand chose qui puisse m'aider...

    code dur direct:

    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
    string str;
    SqlConnection maConnexion;
    maConnexion = new SqlConnection();
    maConnexion.ConnectionString = ("Server=adresse du serveur;Initial Catalog=nom de la base;uid=login;password=mdp");
     
     
    maConnexion.Open();//ouvre la connection
    str = " select ... ";
    str += "from table ";
    str += "WHERE conditions ";
    str += "ORDER BY ...";
    SqlCommand sqlcmd = new SqlCommand();
    sqlcmd.Connection = maConnexion;
    sqlcmd.CommandType = CommandType.Text;
    sqlcmd.CommandText = str;
    SqlDataAdapter sqlad = new SqlDataAdapter(sqlcmd);
    DataSet ds = new DataSet();
    sqlad.Fill(ds, "webServiceIngram");
    return ds;
    toute la premiere partie peut etre mise dans le web.config:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <connectionStrings>
    <add name="nom de la connexion" connectionString="Server=nom du serveur;Initial Catalog=la base traité;Integrated Security=SSPI"/>
    </connectionStrings>
    ce qui pose donc probleme c'est apres : - l'ouverture de la connexion
    - la requette
    - le data reader

    Qqn a t'il deja utilisé cette methode? Si oui pourrais t'il me donner un petit coup de pouce?
    Par avance merci

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Il est tout à fait possible de récupérer les connections strings dans ton web.config. Pour cela tu as la classe statique ConfigurationManager (si tu n'as pas accès à cette classe, rajoute System.Configuration dans tes références).

    Cette classe te permettra de récupérer toutes tes connections strings soit par index, soit pas nom. Ton code devient donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string str = System.Configuration.ConfigurationManager.ConnectionStrings["nom de la connexion"].ConnectionString;
    Petite information supplémentaire car ton superviseur te fera surement la remarque, tout ce qui est paramètres de l'application, tu peux tout mettre dans le fichier de configuration aussi, dans la zone AppSettings :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <appSettings>
      <add key="param1" value="test"/>
    </appSettings>
    Et pour y accéder, tu pourras utiliser encore une fois ConfigurationManager :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string param1 = System.Configuration.ConfigurationManager.AppSettings["param1"];
    Voila, en espérant avoir été clair
    N'hésite pas dans le cas contraire.

  3. #3
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    en fait les parametre que je passe dans le web.config, sont un peu comme des methodes publiques? je peux les utiliser dans tout le projet en créant une variable du type voulu, un peu comme si j'avais une classe "personne" avec des parametre "nom, prenom ...", et dans mon "main", je crée super_admin de type personne.

    oula ... relecture .... ..... ....... ........ ........ ouais c bon, jme comprend

  4. #4
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    quand je met le code que tu m'as donné:

    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
    [WebMethod]
            public DataSet rechercheParDescription(string uneDesc)
            {
     
                string strConnexion = System.Configuration.ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString;
     
                strConnexion = " select MARQUE, DESCRIPTION, REF_CONSTRUCTEUR, GAMME,CATEGORIE, TARIF_PRIVATE, TARIF_PUBLIC ";
                strConnexion += "from Table_Product ";
                strConnexion += "WHERE DESCRIPTION LIKE '%" + uneDesc + "%' ";
     
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.CommandType = CommandType.Text;
                sqlcmd.CommandText = strConnexion;
                SqlDataAdapter sqlad = new SqlDataAdapter(sqlcmd);
                DataSet ds = new DataSet();
                sqlad.Fill(ds, "intranetTest");
                return ds;
            }
    ca me retourne l'erreur comme quoi "SelectCommand.Connection" n'as pas ete initialisé.

  5. #5
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Mettre la chaîne de connexion dans le fichier de configuration ne dispense pas d'utiliser un objet de connexion !

    Cette chaîne de connexion n'est qu'un string. Il faut donc un objet de connexion pour interprêter cette chaîne de connexion et se connecter à la base de données renseignée.

    Ton code doit donc être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string str;
    SqlConnection maConnexion;
    maConnexion = new SqlConnection();
    maConnexion.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["nom de la connexion"].ConnectionString;

  6. #6
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    meme pb.

    qu'es ce qu'il faut mettre dans le web.config?

    ce que j'ai:
    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
    <?xml version="1.0"?>
    <configuration>
    	<appSettings/>
     
      <connectionStrings>
        <add name="strConnection" connectionString="Server=SRV-INTRANET;Initial Catalog=PROD_Conso;Integrated Security=SSPI"/>
      </connectionStrings>
     
    	<system.web>
    		<!-- 
                blabla.
            -->
    		<compilation debug="true">
    		</compilation>
    		<!--
                blabla. 
            -->
    		<authentication mode="Windows"/>
    		<!--
                blabla.
     
                    -->
    	</system.web>
    </configuration>
    et mon code:

    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
    [WebMethod]
            public DataSet rechercheParDescription(string uneDesc)
            {
                string str;
                SqlConnection maConnexion;
                maConnexion = new SqlConnection();
                maConnexion.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString;
                str = " select MARQUE, DESCRIPTION, REF_CONSTRUCTEUR, GAMME,CATEGORIE, TARIF_PRIVATE, TARIF_PUBLIC ";
                str += "from Table_Product ";
                str += "WHERE DESCRIPTION LIKE '%" + uneDesc + "%' ";
     
                SqlCommand sqlcmd = new SqlCommand();
                sqlcmd.CommandType = CommandType.Text;
                sqlcmd.CommandText = str;
                SqlDataAdapter sqlad = new SqlDataAdapter(sqlcmd);
                DataSet ds = new DataSet();
                sqlad.Fill(ds, "intranetTest");
                return ds;
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Solution multiprojets: utilisation du web.config
    Par joujou_le_fou dans le forum Services Web
    Réponses: 1
    Dernier message: 07/09/2011, 17h05
  2. Utilisation de Web config
    Par FABFAB125 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 21/01/2008, 17h41
  3. Utilisation de Web config
    Par FABFAB125 dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 17/01/2008, 17h17
  4. Réponses: 5
    Dernier message: 08/01/2008, 22h55
  5. Réponses: 2
    Dernier message: 12/05/2006, 11h07

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