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

ASP.NET Discussion :

Probleme chaine de connexion dynamique


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut Probleme chaine de connexion dynamique
    Bonjour,

    Je cherche comment pouvoir modifier le fichier web.config de mon site asp .net, l'objectif étant d'inserer dans le web.config une chaine de connexion que l'utilisitateur aura lui même saisie.

    Voici comment je gère actuellement le fichier web.config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <connectionStrings configSource="connections.config"/>
    Voici le fichier connections.config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <connectionStrings>
      <add name="NomId"
           connectionString="Initial Catalog=NameBDD;"
           providerName="System.Data.SqlClient" />
    </connectionStrings>
    Et voici comment je tente de modifier mon web.config:
    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
     
              ConnectionStringSettings settings = WebConfigurationManager.ConnectionStrings["NomId"];
     
                if (null != settings)
                {
                    string connectString = settings.ConnectionString;
     
                    SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString);
     
                    builder.DataSource = dataSource;
                    builder.UserID = userName;
                    builder.Password = userPassword;
     
                try
                {
                    var configuration = WebConfigurationManager.OpenWebConfiguration("/connections.config");
                    var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
                    section.ConnectionStrings["NomId"].ConnectionString = builderConnectionString.ToString();
                    configuration.Save(ConfigurationSaveMode.Full);
                }
                catch (Exception er)
                { 
     
                }
                }
    Tous ce passe bien jusqu'a la ligne configuration.Save() où alors ce message d'erreur apparait :
    Impossible de créer un fichier de configuration pour l'objet Configuration demandé.
    J'ai déjà essayer diverses parade mais rien n'y fait, je ne trouve pas la bonne solution.

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    En principe tu ne devrais pas avoir à modifier ton Web.config à la volée. Je te suggère plutôt de te tourner vers l'utilisation d'un fichier de paramètres. En définissant des paramètres ayant une portée (scope) Utilisateur, tu peux ainsi leur permettre de gérer leurs ConnectionStrings indépendamment.

    Voici un exemple de code :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Properties.Settings.Default.ConnectionStringName = "Nouvelle Connection String"; 
    Properties.Settings.Default.Save();

    Tu peux construire ta Connection String de manière sûre en utilisant la class ConnectionStringBuilder.


    Si toutefois tu souhaites absolument faire ça dans ton Web.config, voici du code qui semble fonctionner : http://www.codeproject.com/Questions...-in-web-config
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut
    Merci beaucoup, la solution 2 de codeProject était ce dont j'avais besoins.

    Etant donnée que c'est un appli web je n'avais de fichier settings.settings dans mes propriétés d'applications et ne pouvais donc pas utiliser cette méthode.

    Quand à la solution 1, je l'avais déjà envisagé seulement j'utilise la méthode code first qui necessite que la chaine de connexion soit placée dans les la section "connectionString", la solution 2 me permet en effet de bien sauvegarder mon web.config après modifications de la chaine de connexion.


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

Discussions similaires

  1. probleme chaine de connexion
    Par xouzi dans le forum VBScript
    Réponses: 9
    Dernier message: 04/04/2011, 22h49
  2. probleme avec chaine de connexion "wpf"
    Par minou_minou dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 15/11/2009, 23h08
  3. Probleme de chaine de connexion
    Par Invité dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/01/2008, 14h06
  4. [VB.Net 2.0/xsd] Comment passer une chaine de connexion dynamiquement ?
    Par graphicsxp dans le forum Accès aux données
    Réponses: 4
    Dernier message: 21/07/2006, 11h20
  5. [C#] [Oracle] Problème de chaine de connexion
    Par didoboy dans le forum ASP.NET
    Réponses: 9
    Dernier message: 08/01/2005, 11h32

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