Domanda

Installazione:

Ho una DLL che utilizza ConnectionString per connettersi a un database SQL. Quando aggiungo la DLL al mio sito Web, devo aggiungere la stringa di connessione nel mio web.config affinché la mia DLL funzioni correttamente (questo è di progettazione). Una volta aggiunto in web.config, tutto funziona correttamente (come previsto).

Il problema:

Il problema inizia quando voglio spostare la stringa di connessione nelle impostazioni dell'applicazione ASP.NET del mio sito Web trovate in IIS > Sito Web predefinito > Proprietà > Scheda ASP.NET > Modifica configurazione globale ... > Gestione stringhe di connessione

Se lo rimuovo dal mio web.config e lo metto lì la mia DLL non funziona. Se uso la stringa di connessione in qualsiasi altra parte del mio sito Web (e non da una DLL), posso accedere al database semplicemente attraverso questo metodo, ma per qualche ragione la mia DLL può accedervi solo se si trova nel web.config.

La domanda:

Come posso fare in modo che la mia DLL usi la stringa di connessione elencata in Gestione stringhe di connessione Impostazioni di configurazione ASP.NET anziché in web.config?

È stato utile?

Soluzione

Devi cercare la sezione dalle impostazioni generali di configurazione ASP.Net, che possono essere recuperate attraverso la classe WebConfigurationManager, piuttosto che cercare una stringa di connessione tramite 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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top