web-dev-qa-db-fra.com

Lire la chaîne de connexion depuis web.config

Comment lire une chaîne de connexion d'un fichier web.config dans une classe publique contenue dans une bibliothèque de classes?

J'ai essayé:

WebConfigurationManager

ConfigurationManager

Mais ces classes ne sont pas reconnues dans ma bibliothèque de classes.

244
chamara

Ajoutez System.Configuration comme référence.

Pour une raison quelconque, il n'est pas inclus par défaut.

169
peteisace

Vous devez ajouter une référence à System.Configuration puis utiliser:

System.Configuration.ConfigurationManager.
    ConnectionStrings["connectionStringName"].ConnectionString;
493
Muhammad Akhtar

C #

// Add a using directive at the top of your code file    
using System.Configuration;

// Within the code body set your variable    
string cs = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;

VB

' Add an Imports statement at the top of your code file    
Imports System.Configuration

' Within the code body set your variable    
Dim cs as String = ConfigurationManager.ConnectionStrings("connectionStringName").ConnectionString
60
MDM

Ajoutez System.Configuration comme référence puis:

 using System.Configuration;

 ...

 string conn = 
    ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;
22
nirmus

Je suppose que vous devez ajouter une référence à l’ensemble System.Configuration s’il n’a pas déjà été ajouté.

En outre, vous devrez peut-être insérer la ligne suivante en haut de votre fichier de code:

using System.Configuration;
17
Akram Shahda

Dans VB: Cela devrait fonctionner

ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString

Dans C# ce serait (selon le commentaire de Ala)

ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
14
Alaa

Vous devez appeler cette classe en haut de votre page ou de votre classe:

using System.Configuration;

Ensuite, vous pouvez utiliser cette méthode qui renvoie la chaîne de connexion prête à être transmise à l'objet sqlconnection afin de poursuivre votre travail de la manière suivante:

    private string ReturnConnectionString()
    {
       // Put the name the Sqlconnection from WebConfig..
        return ConfigurationManager.ConnectionStrings["DBWebConfigString"].ConnectionString;
    }

Juste pour clarifier, voici la valeur de la configuration Web:

  <add name="DBWebConfigString" connectionString="....." />   </connectionStrings>
9
Ahmed Elbatt
using System.Configuration;


string conn = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
9
Saravanan G
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;
using System.Web.UI.WebControls;  

C #

string constring = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString;
                using (SqlConnection con = new SqlConnection(constring))

SOUS LE WEB> CODE DE FICHIER DE CONFIG

<connectionStrings>
    <add name="ABCD" connectionString="Data Source=DESKTOP-SU3NKUU\MSSQLSERVER2016;Initial Catalog=TESTKISWRMIP;Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>

Dans le code ci-dessus ABCD est le nom de la connexion

8
subramanya4
using System.Configuration;


string connString = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();

Rappelez-vous de ne pas utiliser ConnectionStrings [index] car vous pourriez avoir des problèmes de configuration et de portabilité globales

Ajoutez d'abord ceci:

using System.Configuration;
2
Ali

Tout le monde semble suggérer que l’ajout de

using System.Configuration;

ce qui est vrai.

Mais puis-je vous suggérer d’installer l’extension Visual Studio de ReSharper?

Une fois installé, au lieu de constater qu’une classe n’est pas définie, vous verrez une invite qui vous indiquera l’assembly dans lequel elle se trouve, vous demandant si vous voulez qu’elle ajoute l’instruction using nécessaire.

1
Jeff Dege