Question

Dans mon application ASP.NET, j'ai un fichier web.config. Dans le fichier web.config, j'ai une chaîne de connexion ...

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

Cependant, lorsque je récupère cette valeur avec ConfigurationManager.ConnectionStringsp["HRDb"], je récupère l'ancienne chaîne de connexion, pas la nouvelle.

À quel autre endroit (à part web.config) le ConfigurationManager lit-il les valeurs de chaîne de connexion?

J'exécute l'application à partir de VS.NET (non déployé sur IIS).

Était-ce utile?

La solution

J'ai compris ce qui n'allait pas.

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

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

Autres conseils

Il est également possible, bien que peu probable, que vous ayez une chaîne de connexion définie dans un & "parent &"; web.config 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>.

Où l'ancienne valeur a-t-elle été stocké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. Une partie de votre processus de construction copie-t-elle dans un ancien fichier?

J'ai eu un problème similaire, où la solution consistait à détenir le mauvais web.config, généré par Visual Studio lors de l'ajout d'un fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top