Condividi tramite


Procedura: leggere stringhe di connessione dal file Web.config

Aggiornamento: novembre 2007

In questo esempio viene letta una stringa di connessione da un file Web.config. L'elemento connectionStrings è un insieme ConnectionStringSettingsCollection di oggetti ConnectionStringSettings. L'utilizzo di elementi di insieme può essere leggermente più complesso rispetto a quello di altri elementi di configurazione.

Per aggiornare un'impostazione di configurazione, utilizzare il metodo Save o SaveAs dell'oggetto di configurazione. Per ulteriori informazioni, vedere Utilizzo delle classi di configurazione. Per ulteriori esempi di codice, vedere la classe ConnectionStringsSection e le classi correlate.

Nell'esempio viene utilizzato il metodo non statico per ottenere i dati di configurazione. Tale metodo consente di estrarre questo tipo di informazioni da qualsiasi applicazione. Se si desidera ottenere informazioni sulla configurazione dall'applicazione in cui si trova il codice, è preferibile utilizzare il metodo statico che presenta tempi di elaborazione ridotti. Per ulteriori informazioni, vedere la sezione Utilizzo di impostazioni di configurazione locali e remote in Cenni preliminari sulle API di configurazione di ASP.NET.

Nota:

Questo esempio si riferisce a un sito Web denominato MyWebSiteRoot. Per eseguire l'esempio, sarà necessario eseguirlo in un sito Web con tale nome o sostituire la stringa fornita al metodo OpenWebConfiguration con il nome del sito Web in uso.

Esempio

Dim rootWebConfig As System.Configuration.Configuration
    rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")
Dim connString As System.Configuration.ConnectionStringSettings
If (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) Then
    connString = rootWebConfig.ConnectionStrings.ConnectionStrings("NorthwindConnectionString")
    If Not (Nothing = connString.ConnectionString) Then
        Console.WriteLine("Northwind connection string = {0}", connString.ConnectionString)
    Else
        Console.WriteLine("No Northwind connection string")
    End If
End If
         System.Configuration.Configuration rootWebConfig =
                System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
            System.Configuration.ConnectionStringSettings connString;
            if (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count)
            {
                connString =
                    rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
                if (null != connString)
                    Console.WriteLine("Northwind connection string = \"{0}\"",
                        connString.ConnectionString);
                else
                    Console.WriteLine("No Northwind connection string");
            }

Compilazione del codice

L'esempio presenta i requisiti seguenti:

  • Elemento connectionStrings nel file Web.config principale contenente una connessione denominata NorthwindConnectionString. L'elemento può essere simile al seguente:

    <connectionStrings>
      <add 
        name="NorthwindConnectionString" 
        connectionString="Data Source=serverName;Initial 
        Catalog=Northwind;Persist Security Info=True;User 
        ID=userName;Password=password"
        providerName="System.Data.SqlClient"
      />
    </connectionStrings>
    

    connectionStrings è un elemento figlio diretto dell'elemento <configuration> e un elemento paritetico dell'elemento system.web.

    Nota sulla sicurezza:

    Durante l'archiviazione di informazioni riservate quali i nomi utente e le password in un file di configurazione, è necessario crittografare i valori riservati mediante la configurazione protetta. Per ulteriori informazioni, vedere Procedura: proteggere le stringhe di connessione durante l'utilizzo dei controlli origine dati.

Programmazione efficiente

Se la stringa di connessione specificata non esiste nel file Web.config, non viene restituito alcun oggetto. Quando si procede alla lettura di stringhe di connessione è necessario verificare che il codice abbia restituito un oggetto.

Sicurezza

Per limitarne l'accesso in lettura, è consigliabile proteggere il file di configurazione sul server mediante le impostazioni di sicurezza di Windows. Per proteggere l'elemento connectionString è possibile crittografarlo. Per informazioni dettagliate, vedere Crittografia delle informazioni di configurazione utilizzando la configurazione protetta.

Vedere anche

Riferimenti

Elemento connectionStrings (schema delle impostazioni ASP.NET)

ConfigurationSettings