Konfigurace aplikací pomocí konfiguračních souborů

Rozhraní .NET Framework poskytuje vývojářům a správcům kontrolu a flexibilitu při spouštění aplikací prostřednictvím konfiguračních souborů. Konfigurační soubory jsou soubory XML, které lze změnit podle potřeby. Správce může určit, ke kterým chráněným prostředkům může aplikace přistupovat, ke kterým verzím sestavení bude aplikace používat a kde se nacházejí vzdálené aplikace a objekty. Vývojáři můžou umístit nastavení do konfiguračních souborů, což eliminuje nutnost znovu zkompilovat aplikaci při každé změně nastavení. Tato část popisuje, co je možné nakonfigurovat a proč může být užitečná konfigurace aplikace.

Poznámka

Spravovaný kód může pomocí tříd v System.Configuration oboru názvů číst nastavení z konfiguračních souborů, ale ne k zápisu do těchto souborů.

Tento článek popisuje syntaxi konfiguračních souborů a poskytuje informace o třech typech konfiguračních souborů: počítač, aplikace a zabezpečení.

Formát konfiguračního souboru

Konfigurační soubory obsahují prvky, které představují logické datové struktury, jež nastavují informace o konfiguraci. V konfiguračním souboru je možné použít značky pro označení začátku a konce prvku. <runtime> Například prvek se skládá z podřízených <runtime>prvků</runtime>. Prázdný prvek by byl napsán jako <runtime/> nebo <runtime></runtime>.

Stejně jako u všech souborů XML rozlišuje syntaxe v konfiguračních souborech velká a malá písmena.

Je možné určit nastavení konfigurace pomocí předdefinovaných atributů, kterými jsou páry název/hodnota uvnitř počáteční značky prvku. Následující příklad určuje dva atributy (version a href) pro <codeBase> prvek, který určuje, kde modul runtime může najít sestavení (další informace naleznete v tématu Určení umístění sestavení).

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

Konfigurační soubory počítače

Konfigurační soubor počítače Machine.configobsahuje nastavení, která se vztahují na celý počítač. Tento soubor se nachází v adresáři %runtime install path%\Config. Machine.config obsahuje nastavení konfigurace pro vazbu sestavení na úrovni počítače, integrované kanály vzdálené komunikace a ASP.NET.

Konfigurační systém nejprve vyhledá v konfiguračním souboru počítače element <appSettings> a další části konfigurace, které může vývojář definovat. Poté hledá v konfiguračním souboru aplikace. Pro zachování udržovatelnosti souboru konfigurace počítače je vhodné umístit tato nastavení do konfiguračního souboru aplikace. Avšak díky vložení nastavení do konfiguračního souboru počítače lze provádět jednodušší údržbu vašeho systému. Například při použití komponenty třetí strany, kterou používá aplikace klienta i serveru, je jednodušší umístit nastavení této komponenty do jednoho místa. V tomto případě je konfigurační soubor počítače vhodným místem pro umístění nastavení, jelikož nebudete mít stejné nastavení ve dvou různých souborech.

Poznámka

Nasazení aplikace pomocí příkazu XCOPY nezkopíruje nastavení z konfiguračního souboru počítače.

Další informace o tom, jak modul ClR (Common Language Runtime) používá konfigurační soubor počítače pro vazbu sestavení, najdete v tématu Jak modul runtime vyhledá sestavení.

Konfigurační soubory aplikací

Konfigurační soubor aplikace obsahuje nastavení specifické pro aplikaci. Tento soubor obsahuje nastavení konfigurace, které čte modul CLR (Common Language Runtime) (například zásady vazeb sestavení, objekty vzdálené komunikace a tak dále) a nastavení, které může číst aplikace.

Název a umístění konfiguračního souboru aplikace závisí na hostiteli aplikace, což může být jeden z následujících:

  • Spustitelná-hostovaná aplikace.

    Tyto aplikace mají dva konfigurační soubory: zdrojový konfigurační soubor, který upravuje vývojář během vývoje, a výstupní soubor distribuovaný s aplikací.

    Při vývoji v Visual Studio umístěte zdrojový konfigurační soubor aplikace do adresáře projektu a nastavte jeho vlastnost Kopírovat do výstupního adresáře na možnost Kopírovat vždy nebo Kopírovat, pokud je novější. Ve výchozím nastavení je název konfiguračního souboru App.config.

    Pokud chcete vytvořit výstupní konfigurační soubor nasazený s aplikací, Visual Studio zkopíruje zdrojový konfigurační soubor do adresáře, ve kterém je kompilované sestavení umístěné. Tento soubor má název <yourappname>.exe.config. Například aplikace s názvem myApp.exe bude mít výstupní konfigurační soubor s názvem myApp.exe.config.

    V některých případech může Visual Studio upravit výstupní konfigurační soubor. Další informace najdete v části Přesměrování verzí sestavení na úrovni aplikace článku Přesměrování verzí sestavení.

  • Aplikace hostovaná technologií ASP.NET.

    Další informace o konfiguračních souborech ASP.NET najdete v tématu ASP.NET Konfigurace Nastavení.

  • Aplikace hostovaná pomocí prohlížeče Internet Explorer.

    Pokud má aplikace hostovaná v Internet Exploreru konfigurační soubor, umístění tohoto souboru se zadává ve <link> značce s následující syntaxí: <link rel="*ConfigurationFileName*" href="*location*">

    V této značce location je adresa URL konfiguračního souboru. Tím dojde k nastavení základní cesty aplikace. Konfigurační soubor musí být umístěn na stejné webové stránce jako aplikace.

Konfigurační soubory zabezpečení

Konfigurační soubory zabezpečení obsahují informace o hierarchii skupiny kódu a sady oprávnění přidružené k úrovním zásad. Důrazně doporučujeme, abyste pomocí nástroje zásady zabezpečení přístupu k kódu (Caspol.exe) upravili zásady zabezpečení, aby se zajistilo, že změny zásad neškodí konfigurační soubory zabezpečení.

Poznámka

Počínaje rozhraním .NET Framework 4 jsou konfigurační soubory zabezpečení přítomny pouze v případě, že se změnily zásady zabezpečení.

Konfigurační soubory zabezpečení jsou umístěny zde:

  • konfigurační soubor zásad Enterprise: %runtime-install-path%\Config\Enterprisesec.config

  • Konfigurační soubor zásad počítače: %runtime-install-path%\Config\Security.config

  • Konfigurační soubor zásad uživatele: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

Viz také