2

Dans mon application ASP.NET, j'ai un fichier web.config. Dans le fichier web.config j'ai une chaîne de connexion ...Où ConfigurationManager ConnectionStrings obtient-il sa valeur?

<connectionStrings> 
    <add name="HRDb" connectionString="xxxxx" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Pourtant, lorsque je récupère cette valeur à l'aide ConfigurationManager.ConnectionStringsp["HRDb"], je reçois la ma vieille chaîne de connexion, pas la nouvelle.

Où d'autre (en dehors de web.config) ConfigurationManager lit les valeurs de chaîne de connexion?

Je lance l'application à partir de VS.NET (non déployé sur IIS).

Répondre

3

J'ai compris ce qui n'allait pas.

Donc, pour répondre à ma propre question ... ConfigurationManager lit uniquement depuis web.config.

Mon problème était que le projet a été configuré pour utiliser un serveur Web IIS lors de l'exécution du projet au lieu d'utiliser le serveur de développement Visual Studio. Donc, je courais en fait une ancienne version de mon application. Idiot.

+0

Je suis sûr que nous avons tous fait quelque chose de similaire: D Les meilleures leçons sont apprises le plus dur et tout ça. :) –

0

Où l'ancienne valeur était-elle enregistrée? Est-ce dans un fichier de configuration différent? Le gestionnaire de configuration doit uniquement extraire des fichiers de configuration, mais il peut y avoir plusieurs fichiers pour une application. Est-ce qu'une partie de votre processus de construction copie dans un ancien fichier?

+0

L'ancienne valeur était également stockée dans le fichier web.config. Très étrange. Je n'ai aucun événement de construction. J'ai seulement un web.config, donc tout droit. Si ConfigurationManager ne lit qu'à partir de web.config, alors il doit s'agir d'un bug de mon côté. Je vais voir ce que je peux trouver ... – willem

1

Il est également possible, bien que peu probable, que vous ayez une chaîne de connexion définie dans un web.config "parent" dans un dossier au-dessus de votre dossier actuel ou même dans machine.config. Essayez d'ajouter un élément <clear /> avant l'élément <add>.

0

J'ai eu un problème similaire, où la solution était que je tenais le mauvais web.config, celui qui a été généré par Visual Studio lors de l'ajout d'un fichier ou plus.

Questions connexes