WebConfigurationManager.GetSection Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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
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#.