Udostępnij za pośrednictwem


WebConfigurationManager.GetSection Metoda

Definicja

Pobiera określoną sekcję konfiguracji z domyślnego pliku konfiguracji bieżącej aplikacji internetowej.

Przeciążenia

GetSection(String)

Pobiera określoną sekcję konfiguracji z bieżącego pliku konfiguracji aplikacji internetowej.

GetSection(String, String)

Pobiera określoną sekcję konfiguracji z pliku konfiguracji aplikacji internetowej w określonej lokalizacji.

GetSection(String)

Pobiera określoną sekcję konfiguracji z bieżącego pliku konfiguracji aplikacji internetowej.

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

Parametry

sectionName
String

Nazwa sekcji konfiguracji.

Zwraca

Object

Określony obiekt sekcji konfiguracji lub null jeśli sekcja nie istnieje. Pamiętaj, że ograniczenia zabezpieczeń istnieją w przypadku użycia GetSection(String) jako operacji środowiska uruchomieniowego. Być może nie można uzyskać dostępu do sekcji w czasie wykonywania dla modyfikacji, na przykład.

Wyjątki

Nie można załadować prawidłowego pliku konfiguracji.

Przykłady

W przykładach w tej sekcji pokazano, jak uzyskać dostęp do informacji o konfiguracji za pomocą GetSection metody .

W poniższym przykładzie przedstawiono sekcję dostępną z poziomu aplikacji internetowej lub aplikacji konsolowej.

Uwaga

W tym przykładzie pokazano, jak za pomocą GetWebApplicationSection metody pobrać ConfigurationSection obiekt z pliku konfiguracji.


// 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

Uwagi

Jeśli GetSection jest wywoływana z poziomu aplikacji internetowej, pobiera sekcję z pliku konfiguracji wybranego przez system zgodnie z hierarchią konfiguracji aplikacji internetowej.

Przestroga

Jeśli aplikacja używa innego protokołu niż HTTP, GetSection przeciążenie, które przyjmuje zarówno nazwę sekcji, jak i ścieżkę na liście parametrów, jest jednym z nich do użycia. Należy określić ścieżkę pliku konfiguracji, ponieważ system nie może założyć żadnych założeń dotyczących poziomu hierarchii konfiguracji. Jeśli używasz GetSection przeciążenia, które przyjmuje tylko nazwę sekcji, system zawsze podejmie próbę zwrócenia ustawień konfiguracji na poziomie aplikacji. Należy jednak pamiętać, że jeśli określona ścieżka znajduje się poza bieżącą aplikacją, przeciążenie, które przyjmuje ścieżkę, zwróci również ustawienia konfiguracji na poziomie aplikacji dla aktualnie uruchomionej aplikacji.

Wywołanie można wywołać GetSection z poziomu aplikacji klienckiej. W takim przypadku pobiera domyślną sekcję z pliku konfiguracji wybranego przez system zgodnie z hierarchią konfiguracji klienta. Zazwyczaj jest to plik Machine.config, chyba że istnieje zamapowana konfiguracja. W przypadku plików konfiguracji mapowania zapoznaj się z metodami mapowania opisanymi poniżej.

Uwaga

Metoda GetSection jest metodą środowiska uruchomieniowego, która działa w sekcji pliku konfiguracji na poziomie hierarchii, w którym działa aplikacja. W przypadku operacji w czasie wykonywania należy zamiast tego użyć GetSection polecenia . Ta metoda działa w określonej sekcji pliku konfiguracji, który uzyskuje się przy użyciu jednej z przeciążonych metod otwierania pliku konfiguracji, OpenWebConfiguration.

Uwagi dotyczące dziedziczenia

Wartość zwracana musi być rzutowania do oczekiwanego typu konfiguracji przed użyciem. Aby uniknąć możliwych wyjątków rzutowania, należy użyć operacji rzutowania warunkowego, takiej jak as operator w języku C#.

Zobacz też

Dotyczy

GetSection(String, String)

Pobiera określoną sekcję konfiguracji z pliku konfiguracji aplikacji internetowej w określonej lokalizacji.

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

Parametry

sectionName
String

Nazwa sekcji konfiguracji.

path
String

Ścieżka pliku konfiguracji wirtualnej.

Zwraca

Object

Określony obiekt sekcji konfiguracji lub null jeśli sekcja nie istnieje. Pamiętaj, że ograniczenia zabezpieczeń istnieją w przypadku użycia GetSection(String, String) jako operacji w czasie wykonywania. Być może nie możesz uzyskać dostępu do sekcji w czasie wykonywania dla modyfikacji, na przykład.

Wyjątki

Metoda jest wywoływana spoza aplikacji internetowej.

Nie można załadować prawidłowego pliku konfiguracji.

Przykłady

W poniższym przykładzie pokazano, jak uzyskać dostęp do informacji o konfiguracji za pomocą GetSection metody .

Uwaga

W tym przykładzie pokazano, jak za pomocą GetSection metody pobrać ConfigurationSection obiekt z określonego pliku konfiguracji.


// 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

Uwagi

Jeśli GetSection jest wywoływana z poziomu aplikacji internetowej, pobiera sekcję z pliku konfiguracji zdefiniowanego przez określoną ścieżkę w hierarchii konfiguracji.

Przestroga

Jeśli aplikacja używa innego protokołu niż HTTP, GetSection przeciążenie, które przyjmuje zarówno nazwę sekcji, jak i ścieżkę na liście parametrów, jest jednym z nich do użycia. Należy określić ścieżkę pliku konfiguracji, ponieważ system nie może założyć żadnych założeń dotyczących poziomu hierarchii konfiguracji. Jeśli używasz GetSection przeciążenia, które przyjmuje tylko nazwę sekcji, system zawsze podejmie próbę zwrócenia ustawień konfiguracji na poziomie aplikacji. Należy jednak pamiętać, że jeśli określona ścieżka znajduje się poza bieżącą aplikacją, przeciążenie, które przyjmuje ścieżkę, zwróci również ustawienia konfiguracji na poziomie aplikacji dla aktualnie uruchomionej aplikacji.

Nie można wywołać tej metody z poziomu aplikacji klienckiej.

Jeśli chcesz pobrać sekcję konfiguracji z pliku konfiguracji znajdującego się na bieżącym poziomie katalogu aplikacji internetowej, użyj GetSection metody .

Uwaga

Metoda GetSection jest metodą czasu wykonywania działającą w sekcji pliku konfiguracji na poziomie hierarchii, w którym działa aplikacja. W przypadku operacji w czasie wykonywania należy zamiast tego użyć GetSection polecenia . Ta metoda działa w określonej sekcji pliku konfiguracji, który uzyskujesz przy użyciu jednej z open metod pliku konfiguracji.

Uwagi dotyczące dziedziczenia

Wartość zwracana musi być rzutowania do oczekiwanego typu konfiguracji przed użyciem. Aby uniknąć możliwych wyjątków rzutowania, należy użyć operacji rzutowania warunkowego, takiej jak as operator w języku C#.

Zobacz też

Dotyczy