Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak vytvořit a uložit data nastavení jménem vaší aplikace a uživatelů.
Funkce Nastavení aplikace modelu Windows Forms usnadňuje vytváření, ukládání a údržbu vlastních aplikací a uživatelských předvoleb v klientském počítači. Pomocí nastavení aplikace Windows Forms můžete ukládat nejen data aplikací, jako jsou databázové připojovací řetězce, ale také uživatelsky specifická data, jako jsou předvolby aplikace uživatele. Pomocí sady Visual Studio nebo vlastního spravovaného kódu můžete vytvořit nová nastavení, číst je a zapisovat na disk, svázat je s vlastnostmi ve formulářích a ověřit data nastavení před načtením a uložením.
Nastavení aplikace umožňuje vývojářům ukládat stav do své aplikace pomocí velmi malého vlastního kódu a je náhradou za dynamické vlastnosti v předchozích verzích rozhraní .NET Framework. Nastavení aplikace obsahuje mnoho vylepšení oproti dynamickým parametrům, které jsou pouze pro čtení, pozdně vázané a vyžadují více vlastního programování. Dynamické třídy vlastností byly zachovány v rozhraní .NET Framework 2.0, ale jsou to jen třídy prostředí, které dynamicky zabalí třídy nastavení aplikace.
Co jsou nastavení aplikace
Aplikace Windows Forms budou často vyžadovat data, která jsou pro spuštění aplikace důležitá, ale která nechcete zahrnout přímo do kódu aplikace. Pokud vaše aplikace používá webovou službu nebo databázový server, můžete tyto informace uložit do samostatného souboru, abyste je mohli v budoucnu změnit bez opětovného zkompilování. Podobně můžou vaše aplikace vyžadovat ukládání dat specifických pro aktuálního uživatele. Většina aplikací má například uživatelské předvolby, které přizpůsobí vzhled a chování aplikace.
Nastavení aplikace řeší obě potřeby tím, že poskytuje snadný způsob, jak ukládat nastavení s oborem aplikace i uživatelem v klientském počítači. Pomocí sady Visual Studio nebo editoru kódu definujete nastavení pro danou vlastnost zadáním jejího názvu, datového typu a oboru (aplikace nebo uživatele). Související nastavení můžete dokonce umístit do pojmenovaných skupin pro snadnější použití a čitelnost. Po definování se tato nastavení zachovají a automaticky se čtou do paměti za běhu. Připojitelná architektura umožňuje změnit mechanismus trvalosti, ale ve výchozím nastavení se používá místní systém souborů.
Nastavení aplikace funguje tak, že data zachovají jako XML do různých souborů konfigurace (.config), které odpovídají tomu, zda je nastavení vymezeno aplikací nebo uživatelem. Ve většině případů jsou nastavení vymezená aplikací jen pro čtení; protože se jedná o informace o programu, obvykle je nebudete muset přepsat. Naproti tomu lze nastavení s oborem uživatele číst a zapisovat bezpečně během spuštění, i když vaše aplikace běží pod částečnou důvěryhodností. Další informace o částečné důvěře najdete v tématu Přehled zabezpečení ve Windows Forms.
Nastavení se ukládají jako fragmenty XML v konfiguračních souborech. Nastavení v oboru aplikace jsou reprezentována elementem <applicationSettings> a obecně jsou umístěny v aplikaci.exe.config, kde aplikace je název hlavního spustitelného souboru. Nastavení v rozsahu uživatele jsou reprezentována prvkem <userSettings> a jsou umístěna v user.config. Musíte nasadit soubor .exe.config aplikace spolu s vaší aplikací; architektura nastavení automaticky dle potřeby vytvoří soubor user.config při prvním uložení nastavení pro daného uživatele. Můžete také definovat <userSettings> blok v aplikaci.exe.config a zadat výchozí hodnoty pro nastavení uživatelského oboru.
Vlastní ovládací prvky mohou také uložit vlastní nastavení implementací IPersistComponentSettings rozhraní, které zveřejňuje metodu SaveSettings . Ovládací prvek Windows Forms ToolStrip implementuje toto rozhraní pro uložení pozice panelů nástrojů a položek panelu nástrojů mezi spuštěními aplikace. Další informace o vlastních ovládacích prvcích a nastavení aplikace naleznete v tématu Nastavení aplikace pro vlastní ovládací prvky.
Kde jsou uložená uživatelská nastavení
Výchozí zprostředkovatel, LocalFileSettingsProvider ukládá nastavení s rozsahem na uživatele ve složce LocalApplicationData. Pokud tato složka není k dispozici, použije se ApplicationData složka. Vytvoří se podsložka specifická pro aplikaci, která uloží uživatelsky zaměřený soubor nastavení. Název této složky vychází ze tří atributů o hlavním sestavení aplikace:
- Sestavení CompanyName.
- Hodnota hash založená na dvou částech informací:
- Sestavení FriendlyName. Pokud
FriendlyNamenení k dispozici, použije se ProductName . - Je-li StrongName k dispozici, použije se sestavení, v opačném případě se použije absolutní cesta ke složce sestavení.
- Sestavení FriendlyName. Pokud
- Řetězec AssemblyName.Version.
Pokud se změní některá z předchozích podrobností sestavení, předchozí nastavení s oborem uživatele se ztratí, protože se vygeneruje nový název podsložky. Pokud je například vydána nová verze aplikace a AssemblyName.Version hodnota se liší od předchozí verze, pak se název podsložky použité k uložení nastavení v oboru uživatele změní. Pokud se uživatelská nastavení musí uchovávat mezi verzemi aplikací, vytvořte vlastního zprostředkovatele nastavení. Další informace najdete v tématu Zprostředkovatelé vlastních nastavení.
Omezení nastavení aplikace
Nastavení aplikace nelze použít v nespravované aplikaci, která je hostitelem rozhraní .NET Framework. Nastavení nebudou fungovat v takových prostředích, jako jsou doplňky sady Visual Studio, C++ pro Microsoft Office, řízení hostování v Internet Exploreru nebo doplňky a projekty aplikace Microsoft Outlook.
V současné době nelze vytvořit vazbu na některé vlastnosti v modelu Windows Forms. Nejdůležitějším příkladem je ClientSize vlastnost, protože vazba na tuto vlastnost by způsobovala nepředvídatelné chování za běhu. Tyto problémy můžete obvykle vyřešit tak, že tato nastavení uložíte a načtete programově.
Nastavení aplikace nemá žádné integrované zařízení pro automatické šifrování informací. Nikdy byste neměli ukládat informace související se zabezpečením, jako jsou hesla databáze, ve formátu prostého textu. Pokud chcete takové citlivé informace uložit, zodpovídáte za zabezpečení vy jako vývojář aplikace. Pokud chcete ukládat připojovací řetězce, doporučujeme použít integrované zabezpečení systému Windows a neschybovat se k pevně kódovacím heslům do adresy URL. Další informace najdete v tématu Zabezpečení přístupu kódu a ADO.NET.
Začínáme s nastavením aplikace
Pokud používáte Visual Studio, můžete definovat nastavení v nástroji Windows Forms Designer pomocí vlastnosti (ApplicationSettings) v okně Vlastnosti . Když tímto způsobem definujete nastavení, Visual Studio automaticky vytvoří vlastní spravovanou třídu obálky, která přidruží každé nastavení k vlastnosti dané třídy. Visual Studio se také postará o vytvoření vazby nastavení na vlastnost formuláře nebo ovládacího prvku, aby se při zobrazení formuláře automaticky obnovilo nastavení ovládacího prvku a automaticky se uloží při zavření formuláře.
Pokud chcete mít podrobnější kontrolu nad nastavením, můžete definovat vlastní třídu obálky nastavení aplikací. Toho se dosahuje odvozením třídy z ApplicationSettingsBase, přidání vlastnosti, která odpovídá každému nastavení, a použití speciálních atributů na tyto vlastnosti. Podrobnosti o vytváření tříd obálky naleznete v tématu Architektura nastavení aplikace.
Třídu Binding můžete také použít k programovému vázání nastavení na vlastnosti formulářů a ovládání.
Viz také
- ApplicationSettingsBase
- SettingsProvider
- LocalFileSettingsProvider
- IPersistComponentSettings
- Postupy: Ověření nastavení aplikace
- Správa nastavení aplikace (.NET)
- Jak číst nastavení během běhu pomocí jazyka C#
- Používání Nastavení Aplikace a Uživatelského Nastavení
- architektura nastavení aplikace
- Nastavení aplikace pro vlastní ovládací prvky
.NET Desktop feedback