Condividi tramite


WebConfigurationManager.GetSection Metodo

Definizione

Recupera la sezione di configurazione specificata dal file di configurazione predefinito dell'applicazione Web corrente.

Overload

GetSection(String)

Recupera la sezione di configurazione specificata dal file di configurazione dell'applicazione Web corrente.

GetSection(String, String)

Recupera la sezione di configurazione specificata dal file di configurazione dell'applicazione Web nella posizione specificata.

GetSection(String)

Recupera la sezione di configurazione specificata dal file di configurazione dell'applicazione Web corrente.

public:
 static System::Object ^ GetSection(System::String ^ sectionName);
public static object GetSection (string sectionName);
static member GetSection : string -> obj
Public Shared Function GetSection (sectionName As String) As Object

Parametri

sectionName
String

Nome della sezione di configurazione.

Restituisce

Object

Oggetto sezione di configurazione specificata oppure null se la sezione non esiste. Si ricorda che esistono restrizioni di sicurezza sull'utilizzo dell'oggetto GetSection(String) come operazione runtime. Ad esempio, potrebbe essere impossibile accedere a una sezione in fase di esecuzione per le modifiche.

Eccezioni

Impossibile caricare un file di configurazione valido.

Esempio

Gli esempi di questa sezione illustrano come accedere alle informazioni di configurazione con il GetSection metodo .

Nell'esempio seguente viene illustrata una sezione a cui è possibile accedere da un'applicazione Web o da un'applicazione console.

Nota

In questo esempio viene illustrato come usare il GetWebApplicationSection metodo per ottenere un ConfigurationSection oggetto da un file di configurazione.


// Show how to use the GetSection(string). 
// to access the connectionStrings section.
static void GetConnectionStringsSection()
{

    // 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();

    // Loop through the collection and 
    // display the connectionStrings key, value pairs.
    int i = 0;
    Console.WriteLine("[Display the connectionStrings]");
    while (connectionStringsEnum.MoveNext())
    {
        string name = connectionStrings[i].Name;
        Console.WriteLine("Name: {0} Value: {1}",
        name, connectionStrings[name]);
        i += 1;
    }

    Console.WriteLine();
}
' Show how to use the GetSection(string). 
' to access the connectionStrings section.
Shared Sub GetConnectionStringsSection()
   
   ' Get the connectionStrings section.
     Dim connectionStringsSection As ConnectionStringsSection = _
     WebConfigurationManager.GetSection("connectionStrings")
   
   ' Get the connectionStrings key,value pairs collection.
     Dim connectionStrings As ConnectionStringSettingsCollection = _
     connectionStringsSection.ConnectionStrings
   
   ' Get the collection enumerator.
     Dim connectionStringsEnum As IEnumerator = _
     connectionStrings.GetEnumerator()
   
   ' Loop through the collection and 
   ' display the connectionStrings key, value pairs.
   Dim i As Integer = 0
   Console.WriteLine("[Display the connectionStrings]")
   While connectionStringsEnum.MoveNext()
      Dim name As String = connectionStrings(i).Name
         Console.WriteLine("Name: {0} Value: {1}", _
         name, connectionStrings(name))
      i += 1
   End While
   
   Console.WriteLine()
End Sub

Commenti

Se GetSection viene chiamato dall'interno di un'applicazione Web, ottiene la sezione dal file di configurazione selezionato dal sistema in base alla gerarchia di configurazione dell'applicazione Web.

Attenzione

Se l'applicazione usa un protocollo diverso da HTTP, l'overload GetSection che accetta sia un nome di sezione che un percorso nell'elenco dei parametri è quello da usare. È necessario specificare il percorso del file di configurazione perché il sistema non può effettuare ipotesi sul livello della gerarchia di configurazione. Se si usa l'overload GetSection che accetta solo un nome di sezione, il sistema tenterà sempre di restituire le impostazioni di configurazione a livello di applicazione. Si noti tuttavia che, se il percorso specificato è esterno all'applicazione corrente, l'overload che accetta un percorso restituirà anche le impostazioni di configurazione a livello di applicazione per l'applicazione attualmente in esecuzione.

È possibile chiamare GetSection da un'applicazione client. In questo caso, ottiene la sezione predefinita dal file di configurazione selezionato dal sistema in base alla gerarchia di configurazione client. In genere, si tratta del file di Machine.config, a meno che non sia presente una configurazione mappata. Per i file di configurazione di mapping, vedere i metodi di mapping descritti di seguito.

Nota

Il GetSection metodo è un metodo di runtime che opera nella sezione di un file di configurazione a livello di gerarchia in cui viene eseguita l'applicazione. Per un'operazione non di runtime, usare GetSection invece. Questo metodo opera nella sezione specificata di un file di configurazione ottenuto usando uno dei metodi di overload per aprire un file di configurazione, OpenWebConfiguration.

Note per gli eredi

Il valore restituito deve essere eseguito il cast nel tipo di configurazione previsto prima dell'uso. Per evitare possibili eccezioni di cast, è consigliabile usare un'operazione di cast condizionale come l'operatore as in C#.

Vedi anche

Si applica a

GetSection(String, String)

Recupera la sezione di configurazione specificata dal file di configurazione dell'applicazione Web nella posizione specificata.

public:
 static System::Object ^ GetSection(System::String ^ sectionName, System::String ^ path);
public static object GetSection (string sectionName, string path);
static member GetSection : string * string -> obj
Public Shared Function GetSection (sectionName As String, path As String) As Object

Parametri

sectionName
String

Nome della sezione di configurazione.

path
String

Percorso del file di configurazione virtuale.

Restituisce

Object

Oggetto sezione di configurazione specificata oppure null se la sezione non esiste. Si ricorda che esistono restrizioni di sicurezza sull'utilizzo dell'oggetto GetSection(String, String) come operazione runtime. Si potrebbe non essere in grado di accedere a una sezione in fase di esecuzione per le modifiche, ad esempio.

Eccezioni

Il metodo viene chiamato dall'esterno di un'applicazione Web.

Impossibile caricare un file di configurazione valido.

Esempio

Nell'esempio seguente viene illustrato come accedere alle informazioni di configurazione con il GetSection metodo .

Nota

In questo esempio viene illustrato come usare il GetSection metodo per ottenere un oggetto da un ConfigurationSection file di configurazione specificato.


// Show the use of GetSection(string, string). 
// to access the connectionStrings section.
 static void GetSection2()
 {

     try
     {
         // Get the connectionStrings section for the 
         // specified Web app. This GetSection overload
         // can olny be called from within a Web application.
         ConnectionStringsSection connectionStringsSection =
             WebConfigurationManager.GetSection("connectionStrings",
             "/configTest") as ConnectionStringsSection;

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

         // Get the collection enumerator.
         IEnumerator connectionStringsEnum =
             connectionStrings.GetEnumerator();

         // Loop through the collection and 
         // display the connectionStrings key, value pairs.
         int i = 0;
         Console.WriteLine("[Display connectionStrings]");
         while (connectionStringsEnum.MoveNext())
         {
             string name = connectionStrings[i].Name;
             Console.WriteLine("Name: {0} Value: {1}",
             name, connectionStrings[name]);
             i += 1;
         }
         Console.WriteLine();
     }

     catch (InvalidOperationException e)
     {
         string errorMsg = e.ToString();
         Console.WriteLine(errorMsg);
     }
 }
' Show the use of GetSection(string, string). 
' to access the connectionStrings section.
Shared Sub GetSection2()
   
   Try
      ' Get the connectionStrings section for the 
      ' specified Web app. This GetSection overload
      ' can olny be called from within a Web application.
         Dim connectionStringsSection As ConnectionStringsSection = _
         WebConfigurationManager.GetSection( _
         "connectionStrings", "/configTest")
      
      ' Get the connectionStrings key,value pairs collection
         Dim connectionStrings As ConnectionStringSettingsCollection = _
         connectionStringsSection.ConnectionStrings
      
      ' Get the collection enumerator.
         Dim connectionStringsEnum As IEnumerator = _
         connectionStrings.GetEnumerator()
      
      ' Loop through the collection and 
      ' display the connectionStrings key, value pairs.
      Dim i As Integer = 0
      Console.WriteLine("[Display connectionStrings]")
      While connectionStringsEnum.MoveNext()
         Dim name As String = connectionStrings(i).Name
             Console.WriteLine("Name: {0} Value: {1}", _
             name, connectionStrings(name))
         i += 1
      End While
      Console.WriteLine()
   
   Catch e As InvalidOperationException
      Dim errorMsg As String = e.ToString()
      Console.WriteLine(errorMsg)
   End Try
End Sub

Commenti

Se GetSection viene chiamato dall'interno di un'applicazione Web, ottiene la sezione dal file di configurazione definito dal percorso specificato nella gerarchia di configurazione.

Attenzione

Se l'applicazione usa un protocollo diverso da HTTP, l'overload GetSection che accetta sia un nome di sezione che un percorso nell'elenco dei parametri è quello da usare. È necessario specificare il percorso del file di configurazione perché il sistema non può effettuare ipotesi sul livello della gerarchia di configurazione. Se si usa l'overload GetSection che accetta solo un nome di sezione, il sistema tenterà sempre di restituire le impostazioni di configurazione a livello di applicazione. Si noti tuttavia che, se il percorso specificato è esterno all'applicazione corrente, l'overload che accetta un percorso restituirà anche le impostazioni di configurazione a livello di applicazione per l'applicazione attualmente in esecuzione.

Questo metodo non può essere chiamato dall'interno di un'applicazione client.

Se si vuole recuperare la sezione di configurazione dal file di configurazione che si trova a livello di directory dell'applicazione Web corrente, usare il GetSection metodo .

Nota

Il GetSection metodo è un metodo run-time che opera nella sezione di un file di configurazione a livello di gerarchia in cui viene eseguita l'applicazione. Per un'operazione non di runtime, usare GetSection invece. Questo metodo opera nella sezione specificata di un file di configurazione ottenuto usando uno dei metodi di file di open configurazione.

Note per gli eredi

Il valore restituito deve essere eseguito il cast nel tipo di configurazione previsto prima dell'uso. Per evitare possibili eccezioni di cast, è consigliabile usare un'operazione di cast condizionale come l'operatore as in C#.

Vedi anche

Si applica a