Je n'ai jamais utilisé les "appSettings" avant. Comment configurez-vous cela en C # pour l'utiliser avec un SqlConnection, c'est ce que j'utilise pour le "ConnectionStrings"
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
Et voici ce que j'ai pour les "appSettings"
SqlConnection con = new SqlConnection();
con = ConfigurationManager.AppSettings("ConnectionString");
mais ça ne fonctionne pas.
ConfigurationManager.AppSettings
est en fait une propriété, vous devez donc utiliser des crochets.
Globalement, voici ce que vous devez faire:
SqlConnection con= new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
Le problème est que vous avez essayé de définir con avec une chaîne, ce qui n’est pas correct. Vous devez le transmettre au constructeur ou définir la propriété con.ConnectionString.
Votre fichier web.config
Devrait avoir cette structure:
<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 conserver vos chaînes de connexion dans la section AppSettings
de votre fichier de configuration, cela ressemblerait à ceci:
<configuration>
<appSettings>
<add key="MyConnectionString" value="..." />
</appSettings>
</configuration>
Et puis votre constructeur SqlConnection ressemblerait à ceci:
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["MyConnectionString"]);
tu devrais utiliser []
var x = ConfigurationManager.AppSettings["APIKey"];
\ Si ce que vous avez posté correspond exactement à ce que vous utilisez, votre problème est un peu évident. Supposons maintenant que 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 devez utiliser la valeur de l'attribut name pour faire référence à la chaîne de connexion souhaitée (vous pouvez en fait définir plusieurs chaînes de connexion dans différentes bases de données).
con.ConnectionString = ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString;