Comment utiliser le ConfigurationManager.AppSettings

Je n'ai jamais utilisé les "appSettings" avant. Comment configurer ceci en C# à utiliser avec une connexion SQL, c'est ce que j'utilise pour les "connections"

SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

Et c'est ce que j'ai pour le "appSettings"

SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");

mais ça ne fonctionne pas.

38
demandé sur wonea 2011-08-15 23:46:34

4 réponses

ConfigurationManager.AppSettings est en fait une propriété, vous devez donc utiliser des crochets.

dans l'Ensemble, voici ce que vous devez faire:

    SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);

le problème est que vous avez essayé de mettre con sur une chaîne, ce qui n'est pas correct. Vous devez soit le passer au constructeur ou mettre con.Propriété ConnectionString.

21
répondu Anton Vidishchev 2011-08-15 19:51:06

web.config le fichier doit avoir la structure suivante:

<configuration>
    <connectionStrings>
        <add name="MyConnectionString" connectionString="..." />
    </connectionStrings>
</configuration>

ensuite, pour créer une connexion SQL en utilisant la chaîne de connexion nommée MyConnectionString:

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);

si vous préférez garder vos liens dans le AppSettings section de votre fichier de configuration, il ressemblerait à ceci:

<configuration>
    <appSettings>
        <add key="MyConnectionString" value="..." />
    </appSettings>
</configuration>

Et puis, votre constructeur SqlConnection devrait ressembler à ceci:

SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["MyConnectionString"]);
39
répondu Justin Rusbatch 2011-08-15 19:57:00

\si ce que vous avez posté est exactement ce que vous utilisez alors votre problème est un peu évident. Maintenant, assumant dans votre web.config vous avez une chaîne de connexion définie comme ceci

 <add name="SiteSqlServer" connectionString="Data Source=(local);Initial Catalog=some_db;User ID=sa;Password=uvx8Pytec" providerName="System.Data.SqlClient" />

dans votre code, vous devriez utiliser la valeur de l'attribut name Pour renvoyer à la chaîne de connexion que vous voulez (vous pourriez en fait définir plusieurs chaînes de connexion à différentes bases de données), donc vous auriez

 con.ConnectionString = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;
1
répondu Obi Onuorah 2011-08-15 19:54:31

vous devez utiliser []

var x = ConfigurationManager.AppSettings["APIKey"];
0
répondu adt 2011-08-15 19:51:41