J'ai mon fichier de configuration avec des configurations ci-dessous:Comment accéder à la chaîne de connexion par défaut de web.config C#
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data" />
</configSections>
<dataConfiguration defaultDatabase="myConnectionString" />
<connectionStrings>
<add name="myConnectionString" connectionString="Data Source=mydatasource;Max Pool Size=100;Pooling=true; Initial Catalog=MyDB;User ID=Myuser;Password=Password;Connection Timeout=60" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
</configuration>
Comme vous pouvez le voir, j'ai mis la valeur par défaut dataconfiguration
utiliser myConnectionString
comme la connexion par défaut chaîne, mais dans le code derrière (C#) comment puis-je accéder à cette chaîne de connexion sans avoir à fournir le nom-à-dire myConnectionString
donc dans le code ci-dessous:
string connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
SqlConnection cnn = new SqlConnection(connectionString);
SqlBulkCopy sbc = new SqlBulkCopy(cnn);
Je voudrais ignorer le codage en dur le nom de la chaîne de connexion.
Si vous utilisez le bloc d'application d'accès aux données que vous passez une chaîne vide pour le paramètre de connexion et il sera ramasser la configuration par défaut. – Crowcoder
Malheureusement je ne suis pas, je suis en train d'utiliser le SqlBulkCopy pour insérer des données en masse: SqlConnection cnn = new SqlConnection (connectionString); // Initialisation de l'objet SqlBulkCopy SqlBulkCopy sbc = new SqlBulkCopy (cnn); – tavier
Ensuite, vous pouvez référencer la section dataConfiguration manuellement et obtenir le nom ou (pas si fiable) vous pouvez référencer les chaînes par index au lieu du nom. – Crowcoder