Ten artykuł został przetłumaczony przez maszynę. Aby wyświetlić jego treść w języku angielskim, zaznacz pole wyboru Angielski. Możesz też wyświetlić angielski tekst w okienku wyskakującym, przesuwając wskaźnik myszy nad konkretny tekst”.
Tłumaczenie
Angielski

Klasa ConfigurationManager

.NET Framework (current version)
 

Data opublikowania: październik 2016

Zapewnia dostęp do plików konfiguracyjnych dla aplikacji klienckich. Ta klasa nie może być dziedziczona.

Przestrzeń nazw:   System.Configuration
Zestaw:  System.Configuration (w System.Configuration.dll)

System.Object
  System.Configuration.ConfigurationManager

public static class ConfigurationManager

NazwaOpis
System_CAPS_pubpropertySystem_CAPS_staticAppSettings

Pobiera AppSettingsSection dane dotyczące bieżącej aplikacji domyślnej konfiguracji.

System_CAPS_pubpropertySystem_CAPS_staticConnectionStrings

Pobiera ConnectionStringsSection dane dotyczące bieżącej aplikacji domyślnej konfiguracji.

NazwaOpis
System_CAPS_pubmethodSystem_CAPS_staticGetSection(String)

Pobiera sekcji konfiguracji określony dla bieżącej aplikacji domyślnej konfiguracji.

System_CAPS_pubmethodSystem_CAPS_staticOpenExeConfiguration(ConfigurationUserLevel)

Otwiera plik konfiguracji dla bieżącej aplikacji jako Configuration obiektu.

System_CAPS_pubmethodSystem_CAPS_staticOpenExeConfiguration(String)

Otwiera plik konfiguracji określonego klienta jako Configuration obiektu.

System_CAPS_pubmethodSystem_CAPS_staticOpenMachineConfiguration()

Otwiera plik konfiguracji komputera na danym komputerze jako Configuration obiektu.

System_CAPS_pubmethodSystem_CAPS_staticOpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Otwiera plik konfiguracji określonego klienta jako Configuration obiektu, który używa poziomu określonego pliku mapowania i użytkownika.

System_CAPS_pubmethodSystem_CAPS_staticOpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Otwiera plik konfiguracji określonego klienta jako Configuration obiektu, który używa określonego pliku mapowania na poziomie użytkownika, a opcja wstępnego ładowania.

System_CAPS_pubmethodSystem_CAPS_staticOpenMappedMachineConfiguration(ConfigurationFileMap)

Otwiera plik konfiguracji komputera w Configuration obiekt, który używa określonego pliku mapowania.

System_CAPS_pubmethodSystem_CAPS_staticRefreshSection(String)

Odświeża sekcji nazwane, więc są pobierane przy następnym uruchomieniu będzie ponownie odczytywana z dysku.

ConfigurationManager Klasa pozwala na dostęp do komputera, aplikacji i informacje o konfiguracji użytkownika. Ta klasa zastępuje ConfigurationSettings klasy, która jest przestarzały. W przypadku aplikacji sieci web, użyj WebConfigurationManager klasy.

Aby użyć ConfigurationManager klasy musi odwoływać się projekt System.Configuration zestawu. Domyślnie niektóre szablony projektu, takich jak aplikacja konsoli odwołuje ten zestaw, ręcznie musi odwoływać.

System_CAPS_noteUwaga

Nazwa i lokalizacja pliku konfiguracji aplikacji zależą od hosta aplikacji. Aby uzyskać więcej informacji, zobacz NIB: pliki konfiguracji aplikacji.

Można użyć wbudowanych System.Configuration typów lub pochodzi z nich do obsługi informacji o konfiguracji. Korzystając z tych typów, można pracować bezpośrednio z informacji o konfiguracji i można rozszerzyć pliki konfiguracji, aby dołączyć informacje niestandardowe.

ConfigurationManager Klasa zawiera elementy członkowskie, które umożliwiają wykonywanie następujących zadań:

  • Przeczytaj sekcję pliku konfiguracji. Aby uzyskać dostęp do informacji o konfiguracji, należy wywołać GetSection metody. Dla pewnych sekcji, takich jak appSettings i connectionStrings, użyj AppSettings i ConnectionStrings klasy. Te elementy członkowskie wykonywania operacji tylko do odczytu, używać jednego wystąpienia pamięci podręcznej konfiguracji i są wielowątkowe znane.

  • Odczytywanie i zapisywanie plików konfiguracji jako całość. Aplikacja może zapisu i odczytu ustawień konfiguracji na dowolnym poziomie dla siebie lub innych aplikacji lub komputerów, lokalnie lub zdalnie. Użyj jednej z metod dostarczonych przez ConfigurationManager klasy, aby otworzyć plik konfiguracji, takich jak SampleApp.exe.config. Te metody zwracają Configuration obiekt, który z kolei udostępnia metody i właściwości można użyć do pracy z plikami konfiguracyjnymi skojarzone. Metody przeprowadzić odczytu lub operacje zapisu i tworzenia danych konfiguracji z każdym razem, gdy plik jest zapisywany.

  • Obsługuje zadania konfiguracyjne. Następujące typy są używane do obsługi różne zadania konfiguracyjne:

    Oprócz pracy z istniejących informacji o konfiguracji, można tworzyć i pracować z elementami konfiguracji niestandardowej rozszerzając typy wbudowane konfiguracji, takich jak ConfigurationElement, ConfigurationElementCollection, ConfigurationProperty, i ConfigurationSection klasy. Na przykład sposobu rozszerzania typu wbudowanego Konfiguracja programowo zobacz ConfigurationSection. Na przykład sposobu rozszerzania używający modelu na podstawie atrybutu typu wbudowanego Konfiguracja zobacz ConfigurationElement.

Uwagi dotyczące obiektów implementujących:

Configuration Klasa umożliwia programowy dostęp do edycji plików konfiguracyjnych. Użyj jednej z metod Otwórz dostarczonych przez ConfigurationManager. Te metody zwracają Configuration obiekt, który z kolei zawiera wymagane metody i właściwości w celu obsługi plików konfiguracji podstawowej. Można uzyskać dostęp do tych plików do odczytu lub zapisu.

Aby odczytać pliki konfiguracji, należy użyć GetSection lub GetSectionGroup odczytać informacji o konfiguracji. Użytkownik lub proces, który odczytuje musi mieć następujące uprawnienia:

  • Uprawnienia odczytu w pliku konfiguracyjnym na bieżącym poziomie hierarchii konfiguracji.

  • Uprawnienia do odczytu z elementem nadrzędnym plików konfiguracyjnych.

Jeśli aplikacja wymaga dostępu tylko do odczytu do własnej konfiguracji, firma Microsoft zaleca użycie GetSection metody. Ta metoda zapewnia dostęp do wartości konfiguracji pamięci podręcznej dla bieżącej aplikacji, która ma lepszą wydajność niż Configuration klasy.

Zapisywanie w plikach konfiguracji, użyj jednej z Save metody. Użytkownik lub proces, który zapisuje musi mieć następujące uprawnienia:

  • Uprawnienie w pliku konfiguracji i katalog na bieżącym poziomie hierarchii konfiguracji zapisu.

  • Uprawnienia do odczytu z plików konfiguracyjnych.

W pierwszym przykładzie pokazano aplikacji konsoli proste odczytuje ustawienia aplikacji, który dodaje nowe ustawienie i aktualizuje istniejące ustawienie.

using System;
using System.Configuration;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ReadAllSettings();
            ReadSetting("Setting1");
            ReadSetting("NotValid");
            AddUpdateAppSettings("NewSetting", "May 7, 2014");
            AddUpdateAppSettings("Setting1", "May 8, 2014");
            ReadAllSettings();
        }

        static void ReadAllSettings()
        {
            try
            {
                var appSettings = ConfigurationManager.AppSettings;

                if (appSettings.Count == 0)
                {
                    Console.WriteLine("AppSettings is empty.");
                }
                else
                {
                    foreach (var key in appSettings.AllKeys)
                    {
                        Console.WriteLine("Key: {0} Value: {1}", key, appSettings[key]);
                    }
                }
            }
            catch (ConfigurationErrorsException)
            {
                Console.WriteLine("Error reading app settings");
            }
        }

        static void ReadSetting(string key)
        {
            try
            {
                var appSettings = ConfigurationManager.AppSettings;
                string result = appSettings[key] ?? "Not Found";
                Console.WriteLine(result);
            }
            catch (ConfigurationErrorsException)
            {
                Console.WriteLine("Error reading app settings");
            }
        }

        static void AddUpdateAppSettings(string key, string value)
        {
            try
            {
                var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                var settings = configFile.AppSettings.Settings;
                if (settings[key] == null)
                {
                    settings.Add(key, value);
                }
                else
                {
                    settings[key].Value = value;
                }
                configFile.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
            }
            catch (ConfigurationErrorsException)
            {
                Console.WriteLine("Error writing app settings");
            }
        }
    }
}

W poprzednim przykładzie przyjęto założenie, że projekt zawiera plik App.config, jak pokazano poniżej.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <appSettings>
    <add key="Setting1" value="May 5, 2014"/>
    <add key="Setting2" value="May 6, 2014"/>
  </appSettings>
</configuration>

Poniższy przykład przedstawia sposób użycia parametrów połączenia do odczytywania danych z bazy danych.

using System;
using System.Configuration;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ReadProducts();
        }

        static void ReadProducts()
        {
            var connectionString = ConfigurationManager.ConnectionStrings["WingtipToys"].ConnectionString;
            string queryString = "SELECT Id, ProductName FROM dbo.Products;";
            using (var connection = new SqlConnection(connectionString))
            {
                var command = new SqlCommand(queryString, connection);
                connection.Open();
                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
                    }
                }
            }
        }
    }
}

W poprzednim przykładzie przyjęto założenie, że projekt ma App.config, jak pokazano poniżej.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <connectionStrings>
      <add name="WingtipToys" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=WingtipToys;Integrated Security=True;Pooling=False" />
    </connectionStrings>
</configuration>

.NET Framework
Dostępne od 2.0

Wszystkie publiczne statyczne ( Shared w języku Visual Basic) elementy członkowskie tego typu są wątkowo bezpieczne. Dla żadnych elementów członkowskich wystąpień nie ma gwarancji bezpieczeństwa wątkowego.

Powrót do początku
Pokaż: