Optimiser mon code ???

Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 - 1 févr. 2009 à 14:55
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 - 2 févr. 2009 à 21:16
Bonjour à tous,

Je voudrais savoir si il n'y a pas une astuce pour simplifier mon code.

En effet j'utilise X fois une chaîne de connexion SqlServer pour me connecter à ma BdD, et j'aimerai savoir comment faire pour que lorsque je me connecte ailleurs que sur mon poste de travail, je n'ai pas à modifier à ces X endroits ma chaîne de connexion ? (Mon projet est de l'ASP.net mais je pense que c'est ici qu'il faut poster ...)

J'espère que je suis clair dans ma question ...

Merci d'avance.

11 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
1 févr. 2009 à 15:13
Salut,

Le fichier de configuration (web.config) et en particulier l'élément ConnectionStrings sert justement à celà.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
1 févr. 2009 à 15:17
Merci coq,

J'ai justement l'élément ConnectionString dans mon web.config. Il s'est inclut dedans automatiquement car j'ai fait une grid view avec l'assistant de visual studio 2005. Pour m'en servir sur mes autres pages dans le code behind, je ne vois pas comment faire.
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
1 févr. 2009 à 15:21
Ah j'ai compris le système, il suffit de se servir de son "name". C'est super ça.
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
1 févr. 2009 à 15:24
J'ai parlé trop vite, ça ne marche pas pour ma page de connexion logon.apsx
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
1 févr. 2009 à 15:48
Exemple :

Fichier de configuration :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    CoqBlog
*/
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
1 févr. 2009 à 16:04
Merci coq, une dernière question : que signifie "référencé l'assembly System.Configuration.dll", merci d'avance de ton aide.
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
1 févr. 2009 à 16:17
Pour que l'IDE connaisse les types que l'ont veut utiliser (que ce soit pour afficher les aides ou tout simplement pour le spécifier au compilateur), il faut bien lui indiquer les assemblies dans lesquels ces types se trouvent.
Voir fonctionnalité "Ajouter une référence" de l'IDE

/*
coq
MVP Visual C#
CoqBlog
*/
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
1 févr. 2009 à 16:19
Merci pour ce complément d'information et de ton aide, ça marche impect !
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
1 févr. 2009 à 16:26
De rien :-)

/*
coq
MVP Visual C#
CoqBlog
*/
0
fcaruso Messages postés 18 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 10 février 2009
2 févr. 2009 à 20:26
Bonjour,

Evidemment l'idée du fichier de config est la bonne mais on a quand meme X fois le code dupliqué qui cette fois lit le fichier de config. C'est déjà mieux mais pas forcement idéal en terme de maintenance...

Le mieux est d'avoir une classe static du genre :

public static class DataManager
{
    public string ConnectionString
    {
        get
        {
            ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["ChaineDeConnexion"];
            ...
            return settings.ConnectionString;
        }
    }
}

Et que tous les endroits du code qui en ont besoin font un appel à DataManager.ConnectionString
En même temps l'idée serait peut-être d'étendre tout ca pour que ce soit cette classe là qui fournisse la IDbConnection... Ou plus compliqué mais 10 fois mieux : une interface et une factory... lol

A+

Fabrice
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
2 févr. 2009 à 21:16
Avec mon niveau euh oui !!! lol
J'ai simplement créé une classe connexion avec une méthode pour éviter d'écrire ce code X fois, pour l'instant cela fera l'affaire. Mais par la suite, si j'ai l'occasion d'apprendre ce que c'est qu'une interface avec une factory pourquoi pas.
A plus les pro du code !
0
Rejoignez-nous