WebConfigurationManager.GetSection Metoda

Definicja

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

Przeciążenia

Nazwa Opis
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

Określony obiekt sekcji konfiguracji lub null jeśli sekcja nie istnieje. Należy pamiętać, że istnieją ograniczenia zabezpieczeń dotyczące użycia GetSection(String) jako operacji środowiska uruchomieniowego. Być może nie możesz 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.

Note

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.

Caution

Jeśli aplikacja używa innego protokołu niż HTTP, przeciążenie, które przyjmuje zarówno nazwę sekcji, GetSection jak i ścieżkę na liście parametrów, jest tym, którego należy użyć. 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 pobiera ścieżkę, zwróci również ustawienia konfiguracji na poziomie aplikacji dla aktualnie uruchomionej aplikacji.

Możesz wywołać metodę 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 opisanymi dalej metodami mapowania.

Note

Metoda GetSection jest metodą czasu wykonywania, która działa w sekcji pliku konfiguracji na poziomie hierarchii, w którym działa aplikacja. W przypadku operacji nienależących do czasu wykonywania użyj GetSection zamiast tego. Ta metoda działa w określonej sekcji pliku konfiguracji, który uzyskujesz przy użyciu jednej z przeciążonych metod otwierania pliku konfiguracji, OpenWebConfiguration.

Notatki dotyczące dziedziczenia

Przed użyciem wartość zwracaną należy rzutować do oczekiwanego typu konfiguracji. 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

Określony obiekt sekcji konfiguracji lub null jeśli sekcja nie istnieje. Należy pamiętać, że istnieją ograniczenia zabezpieczeń dotyczące 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 .

Note

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.

Caution

Jeśli aplikacja używa innego protokołu niż HTTP, przeciążenie, które przyjmuje zarówno nazwę sekcji, GetSection jak i ścieżkę na liście parametrów, jest tym, którego należy użyć. 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 pobiera ścieżkę, zwróci również ustawienia konfiguracji na poziomie aplikacji dla aktualnie uruchomionej aplikacji.

Tej metody nie można wywołać 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 .

Note

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 nienależących do czasu wykonywania użyj GetSection zamiast tego. Ta metoda działa w określonej sekcji pliku konfiguracji, który uzyskujesz przy użyciu jednej z open metod pliku konfiguracji.

Notatki dotyczące dziedziczenia

Przed użyciem wartość zwracaną należy rzutować do oczekiwanego typu konfiguracji. 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