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.
Ajoutez System.Configuration
comme référence.
Pour une raison quelconque, il n'est pas inclus par défaut.
Vous devez ajouter une référence à System.Configuration
puis utiliser:
System.Configuration.ConfigurationManager.
ConnectionStrings["connectionStringName"].ConnectionString;
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
Ajoutez System.Configuration
comme référence puis:
using System.Configuration;
...
string conn =
ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;
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;
Dans VB
: Cela devrait fonctionner
ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString
Dans C#
ce serait (selon le commentaire de Ala)
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
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>
using System.Configuration;
string conn = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
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
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;
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.