Comment : lire les chaînes de connexion dans le fichier Web.config
Mise à jour : novembre 2007
Cet exemple lit une chaîne de connexion dans un fichier Web.config. L'élément connectionStrings est une collection ConnectionStringSettingsCollection d'objets ConnectionStringSettings. L'utilisation des éléments de collection peut être un peu plus complexe que la manipulation d'autres éléments de configuration.
Pour mettre à jour un paramètre de configuration, utilisez la méthode Save ou SaveAs de l'objet de configuration. Pour plus d'informations, consultez Utilisation des classes de configuration. Pour obtenir des exemples de code supplémentaires, consultez la classe ConnectionStringsSection et les classes connexes.
Pour obtenir des données de configuration, cet exemple utilise la méthode non statique, qui vous permet d'extraire des informations de configuration de n'importe quelle application. Si vous souhaitez obtenir des informations de configuration de l'application dans laquelle votre code réside, utilisez la méthode statique pour bénéficier d'un traitement plus rapide. Pour plus d'informations, consultez la section « Manipulation des paramètres de configuration locaux et distants » dans Vue d'ensemble de l'API de configuration ASP.NET.
Remarque : |
---|
Cet exemple s'applique à un site Web nommé MyWebSiteRoot. Pour exécuter l'exemple, vous devez l'exécuter dans un site Web sous ce nom ou remplacer la chaîne fournie à la méthode OpenWebConfiguration par le nom de votre site Web. |
Exemple
Dim rootWebConfig As System.Configuration.Configuration
rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")
Dim connString As System.Configuration.ConnectionStringSettings
If (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) Then
connString = rootWebConfig.ConnectionStrings.ConnectionStrings("NorthwindConnectionString")
If Not (Nothing = connString.ConnectionString) Then
Console.WriteLine("Northwind connection string = {0}", connString.ConnectionString)
Else
Console.WriteLine("No Northwind connection string")
End If
End If
System.Configuration.Configuration rootWebConfig =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
System.Configuration.ConnectionStringSettings connString;
if (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count)
{
connString =
rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
if (null != connString)
Console.WriteLine("Northwind connection string = \"{0}\"",
connString.ConnectionString);
else
Console.WriteLine("No Northwind connection string");
}
Compilation du code
Cet exemple nécessite les éléments suivants :
Élément connectionStrings dans le fichier Web.config racine qui contient une connexion nommée NorthwindConnectionString. L'élément peut se présenter de la manière suivante :
<connectionStrings> <add name="NorthwindConnectionString" connectionString="Data Source=serverName;Initial Catalog=Northwind;Persist Security Info=True;User ID=userName;Password=password" providerName="System.Data.SqlClient" /> </connectionStrings>
L'élément connectionStrings est un enfant direct de l'élément <configuration> et un homologue de l'élément system.web.
Note de sécurité : Lorsque vous stockez des informations sensibles telles que les noms d'utilisateurs et mots de passe dans un fichier de configuration, vous devez chiffrer les valeurs sensibles à l'aide de la configuration protégée. Pour plus d'informations, consultez Comment : sécuriser des chaînes de connexion lors de l'utilisation de contrôles de source de données.
Programmation fiable
Si la chaîne de connexion spécifiée n'existe pas dans le fichier Web.config, aucun objet n'est retourné. Lors de la lecture des chaînes de connexion, vérifiez que le code a retourné un objet.
Sécurité
Le fichier de configuration doit être protégé sur le serveur à l'aide des paramètres de sécurité Windows afin de limiter son accès en lecture. Il est possible de chiffrer l'élément connectionString pour le protéger. Pour plus d'informations, consultez Chiffrement des informations de configuration à l'aide de la configuration protégée.