Megjegyzés: Az a technológia csak .NET Framework keretrendszerek esetén érhetÅ‘ el. .NET Core és .NET 5 alatt ezek nem támogatottak. .NET Core és .NET 5 alkalmazások esetén a beállÃtások mentése és betöltésére JSON fájlokat szoktak alkalmazni.
Minden érdekes program képes felhasználói beállÃtások tárolására valamilyen módon. Manapság a JSON vagy XML formátum a népszerű alkalmazások körében, mert ezen formátumok strukturáltan képesek objektumok leÃrására, ami ideálissá teszi Å‘ket objektum-orientált nyelven készült programokban történÅ‘ felhasználásra. Egy hátránya a saját konfigurációs fájloknak, hogy ezek kezelésére (beolvasás, kiÃrás) kódot kell Ãrnunk.
Azonban a .NET keretrendszer készÃtÅ‘i gondoltak erre a problémára. Éppen ezért minden .NET szerelvény rendelkezhet egy konfigurációs fájllal, aminek a betöltése a szerelvénnyel együtt megtörténik. A beépÃtett konfigurációs rendszer elÅ‘nye, hogy könnyen tudunk vele beállÃtásokat kezelni abban az esetben, ha csak egyszerű értékek, tÃpusok tárolására van szükségünk.
Ha komplex struktúrák és osztályhierarchia tárolására van szükségünk, akkor érdemes saját XML vagy JSON alapú tároló formátumot készÃteni.
A beépÃtett konfigurációs lehetÅ‘ség használatának elsÅ‘ lépése, hogy a projektünk tulajdonságait megnyitjuk a Solution Explorer-ben, majd a Settings fülre megyünk.
Itt valószÃnűleg egy üzenet fogad majd bennünket, miszerint a project-hez még nincs konfigurációs fájl rendelve.
A feliratra kattintva létrejön a beállÃtásokat tartalmazó .config kiterjesztésű fájl és megjelenik a szerkesztÅ‘. A Name oszlopban a beállÃtás nevét adhatjuk meg. Erre ugyanolyan megkötések vonatkoznak, mint a változónevekre.
A Type oszlopban a beállÃtás tÃpusát tudjuk meghatározni. Itt lehetÅ‘ségünk van saját tÃpus meghatározására is, de ebben az esetben a Value értéket nem, vagy csak komplikáltan tudjuk megadni a szerkesztÅ‘ben.
A Scope a beállÃtás hatókörét határozza meg. A User beállÃtás a felhasználók profiljában fog tárolódni, mÃg az Application scope-pal rendelkezÅ‘ beállÃtások az alkalmazás mellet található .config fájlból olvasódnak. ElÅ‘biek a program futása közben csak olvashatók, mÃg a User beállÃtások módosÃthatóak is.
Az Application Scope beállÃtásokat tipikusan webes alkalmazásoknál szokás alkalmazni, ahol egyszer kell konfigurálni a környezethez tartozó beállÃtásokat.
A beállÃtásokhoz C# kód is generálódik, amit a Settings osztály Default statikus változóján tudunk elérni. Ehhez a programunkból a Properties névteret kell használatba vennünk.
A Settings osztályban a beállÃtásaink tulajdonságokként jelennek meg, amiket Ãrni és olvasni tudunk. Az osztályon hÃvott Save() metódussal menteni tudjuk a beállÃtásokat.
using pelda_config.Properties;
using System;
namespace PeldaConfig
{
class Program
{
static void Main(string[] args)
{
int config = Settings.Default.Beallitas;
Console.WriteLine("Beallitas értéke: {0}", config);
++Settings.Default.Beallitas;
Settings.Default.Save();
Console.ReadKey();
}
}
}
A program kimenete:
Beallitas értéke: 42
Következő futtatáskor:
Beallitas értéke: 43