Konfigurowanie aplikacji za pomocą plików konfiguracji

.NET Framework zapewnia deweloperom i administratorom kontrolę nad sposobem uruchamiania aplikacji za pośrednictwem plików konfiguracji. Pliki konfiguracji to pliki XML, które można zmieniać w razie potrzeby. Administrator może kontrolować, do których chronionych zasobów może uzyskiwać dostęp aplikacja, które wersje zestawów będą używane przez aplikację oraz gdzie znajdują się zdalne aplikacje i obiekty. Deweloperzy mogą umieszczać ustawienia w plikach konfiguracji, eliminując konieczność ponownego kompilowania aplikacji za każdym razem, gdy zmienia się ustawienie. W tej sekcji opisano, co można skonfigurować i dlaczego konfigurowanie aplikacji może być przydatne.

Uwaga

Kod zarządzany może używać klas w System.Configuration przestrzeni nazw do odczytywania ustawień z plików konfiguracji, ale nie do zapisywania ustawień w tych plikach.

W tym artykule opisano składnię plików konfiguracji i przedstawiono informacje o trzech typach plików konfiguracji: maszynie, aplikacji i zabezpieczeniach.

Format pliku konfiguracji

Pliki konfiguracji zawierają elementy, które są logicznymi strukturami danych określającymi informacje o konfiguracji. Do oznaczania początku i końca elementu w pliku konfiguracji służą tagi. Na przykład <runtime> element składa się z elementów </runtime>podrzędnych<runtime>. Pusty element zostanie zapisany jako <runtime/> lub <runtime></runtime>.

Podobnie jak w przypadku wszystkich plików XML, w składni plików konfiguracji jest uwzględniana wielkość liter.

Ustawienia konfiguracji są określane przy użyciu wstępnie zdefiniowanych atrybutów, które są parami nazwa/wartość umieszczonymi wewnątrz tagu początkowego elementu. Poniższy przykład określa dwa atrybuty (version i href) dla <codeBase> elementu, który określa, gdzie środowisko uruchomieniowe może zlokalizować zestaw (aby uzyskać więcej informacji, zobacz Określanie lokalizacji zestawu).

<codeBase version="2.0.0.0"  
          href="http://www.litwareinc.com/myAssembly.dll"/>  

Pliki konfiguracji maszyny

Plik konfiguracji maszyny, Machine.config, zawiera ustawienia, które mają zastosowanie do całego komputera. Ten plik znajduje się w katalogu %runtime install path%\Config. Machine.config zawiera ustawienia konfiguracji powiązania zestawu całego komputera, wbudowanych kanałów komunikacji wirtualnej i ASP.NET.

System konfiguracji najpierw wygląda w pliku konfiguracji maszyny dla <elementu appSettings> i innych sekcji konfiguracji, które deweloper może zdefiniować. Następnie przeszukuje plik konfiguracji aplikacji. Aby zachować możliwość zarządzania plikiem konfiguracji komputera, najlepiej jest umieścić te ustawienia w pliku konfiguracji aplikacji. Jednak umieszczenie tych ustawień w pliku konfiguracji komputera może sprawić, że system będzie łatwiejszy w utrzymaniu. Na przykład, jeśli zarówno aplikacja kliencka, jak i serwerowa, używa składnika innej firmy, łatwiej jest umieścić ustawienia dla tego składnika w jednym miejscu. W tym przypadku plik konfiguracji komputera jest właściwym miejscem dla tych ustawień, ponieważ dzięki temu te same ustawienia nie znajdują się w dwóch różnych plikach.

Uwaga

Wdrażanie aplikacji za pomocą polecenia XCOPY nie spowoduje skopiowania ustawień z pliku konfiguracji komputera.

Aby uzyskać więcej informacji na temat sposobu, w jaki środowisko uruchomieniowe języka wspólnego używa pliku konfiguracji maszyny do powiązania zestawu, zobacz Jak środowisko uruchomieniowe lokalizuje zestawy.

Pliki konfiguracji aplikacji

Plik konfiguracji aplikacji zawiera ustawienia specyficzne dla danej aplikacji. Ten plik zawiera ustawienia konfiguracji odczytywane przez środowisko uruchomieniowe języka wspólnego (takie jak zasady tworzenia powiązań zestawów, obiekty usług zdalnych itd.), i ustawienia, które może odczytać aplikacja.

Nazwa i lokalizacja pliku konfiguracji aplikacji są zależne od hosta aplikacji, który może być jednym z następujących:

  • Aplikacja obsługiwana za pomocą pliku wykonywalnego.

    Te aplikacje mają dwa pliki konfiguracji: źródłowy plik konfiguracji, który jest modyfikowany przez dewelopera podczas programowania, oraz plik wyjściowy, który jest dystrybuowany z aplikacją.

    Podczas opracowywania w Visual Studio umieść źródłowy plik konfiguracji aplikacji w katalogu projektu i ustaw jego właściwość Kopiuj do katalogu wyjściowego na wartość Kopiuj zawsze lub Kopiuj, jeśli jest nowsza. Domyślnie nazwa pliku konfiguracji to App.config.

    Aby utworzyć plik konfiguracji danych wyjściowych wdrożonych w aplikacji, Visual Studio kopiuje źródłowy plik konfiguracji do katalogu, w którym znajduje się skompilowany zestaw. Ten plik nosi nazwę <yourappname>.exe.config. Na przykład aplikacja o nazwie myApp.exe będzie mieć plik konfiguracji wyjściowej o nazwie myApp.exe.config.

    W niektórych przypadkach Visual Studio może zmodyfikować wyjściowy plik konfiguracji. Aby uzyskać więcej informacji, zobacz sekcję Przekierowywanie wersji zestawu na poziomie aplikacji w artykule Przekierowywanie wersji zestawu.

  • Aplikacja obsługiwana w programie ASP.NET.

    Aby uzyskać więcej informacji na temat plików konfiguracji ASP.NET, zobacz ASP.NET Configuration Ustawienia.

  • Aplikacja obsługiwana w programie Internet Explorer.

    Jeśli aplikacja hostowana w programie Internet Explorer ma plik konfiguracji, lokalizacja tego pliku jest określona w tagu <link> o następującej składni: <link rel="*ConfigurationFileName*" href="*location*">

    W tym tagu location jest to adres URL pliku konfiguracji. Ta wartość określa podstawę aplikacji. Plik konfiguracji musi znajdować się w tej samej witrynie sieci web, co aplikacja.

Pliki konfiguracji zabezpieczeń

Pliki konfiguracji zabezpieczeń zawierają informacje dotyczące hierarchii grup kodu i zestawów uprawnień skojarzonych z poziomem zasad. Zdecydowanie zalecamy użycie narzędzia Zasady zabezpieczeń dostępu kodu (Caspol.exe) w celu zmodyfikowania zasad zabezpieczeń, aby upewnić się, że zmiany zasad nie powodują uszkodzenia plików konfiguracji zabezpieczeń.

Uwaga

Począwszy od .NET Framework 4, pliki konfiguracji zabezpieczeń są obecne tylko wtedy, gdy zasady zabezpieczeń zostały zmienione.

Pliki konfiguracji zabezpieczeń znajdują się w następujących lokalizacjach:

  • plik konfiguracji zasad Enterprise: %runtime-install-path%\Config\Enterprisesec.config

  • Plik konfiguracji zasad komputera: %runtime-install-path%\Config\Security.config

  • Plik konfiguracji zasad użytkownika: %USERPROFILE%\Application data\Microsoft\CLR security config\v xx.xx.xx\Security.config

Zobacz też