Question

La configuration:

J'ai une DLL qui utilise un ConnectionString pour se connecter à une base de données SQL. Lorsque j'ajoute la DLL à mon site Web, je dois ajouter la chaîne de connexion à mon web.config pour que ma DLL fonctionne correctement (ceci est voulu par la conception même). Une fois que je l’ajoute à web.config, tout fonctionne correctement (comme prévu).

Le problème:

Le problème commence lorsque je souhaite déplacer la chaîne de connexion dans les paramètres de l'application ASP.NET de mon site Web, trouvés dans IIS > Site Web par défaut > Propriétés > Onglet ASP.NET > Modifier la configuration globale ... > Gestionnaire de chaînes de connexion

Si je le supprime de mon Web.config et le mets là, ma DLL ne fonctionne plus. Si j'utilise la chaîne de connexion n'importe où ailleurs sur mon site Web (et non à partir d'une DLL), je peux accéder à la base de données sans problème grâce à cette méthode, mais pour une raison quelconque, ma DLL ne peut y accéder que si elle se trouve dans le fichier web.config.

La question:

Comment faire en sorte que ma DLL utilise la chaîne de connexion répertoriée dans le gestionnaire de chaînes de connexion des paramètres de configuration ASP.NET au lieu de web.config?

Était-ce utile?

La solution

Vous devez rechercher la section dans les paramètres de configuration ASP.Net généraux, qui peuvent être récupérés via la classe WebConfigurationManager, plutôt que de rechercher une chaîne de connexion via ConfigurationManager.ConnectionStrings.

    // Get the connectionStrings section.
ConnectionStringsSection connectionStringsSection =
    WebConfigurationManager.GetSection("connectionStrings")
    as ConnectionStringsSection;

// Get the connectionStrings key,value pairs collection.
ConnectionStringSettingsCollection connectionStrings =
    connectionStringsSection.ConnectionStrings;

// Get the collection enumerator.
IEnumerator connectionStringsEnum =
    connectionStrings.GetEnumerator();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top