Konfigurační soubor aplikace   zodpovězená otázka

VB.NET

Zdravím všechny.

Měl bych jeden dotaz týkající se ukládání konfiguračních údajů aplikace.

Pokud použiji kolekci Settings přímo v projektu, tak vše funguje perfektně, pokud u konkrétní položky, se kterou v konfiguraci pracuji nastavím vlastnost SCOPE na "User".

Pokud však tuto vlastnost nastavím na "Application", položka v konfiguraci je určena pouze ke čtení a nemohu ji tudíž měnit.

V aplikaci potřebuji údaje z konfigurace nejen číst, ale i zpětně ukládat (změněná). Konfigurační údaje by měly být společné pro celou aplikaci (nechci je udržovat pro jednotlivé uživatele).

Mohli byste mi prosím poradit, jakým způsobem dosáhnout toho, abych mohl nastavení aplikace ukládat (nejlépe do soubor myapp.config).

Díky moc.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Asi vás zklamu, ale toto je dáno filozofií konfiguračního systému v .NET Frameworku. Existují 4 druhy nastavení: Nastavení pro počítač, které je pouze pro čtení a je společné pro všechny .NET aplikace (soubor machine.config). Konfigurační soubor pro konkrétní .NET aplikaci, který je pouze pro čtení (*.exe.config). Pouze pro čtení je z toho důvodu, že do tohoto souboru se ukládají uživatelsky neměnné hodnoty jako například connection stringy pro připojení k databázi. Tato nastavení má právo měnit pouze správce systému (ruční editací config souboru). Další druh nastavení je nastavení pro uživatele s cestovním profilem (Roaming User). Toto nastavení je unikátní pro každého uživatele a zároveň "cestuje" spolu s ostatními nastaveními profilu uživatele v případě, že jste v doméně (tzn. je dostupné na jakémkoliv počítači kam se uživatel přihlásí). Poslední druh nastavení je nastavení pro místního uživatele. Toto nastavení je unikátní pro každého uživatele, ale zůstává pouze na počítači kde je uživatel zrovna přihlášen.

Tato filozofie má své výhody i nevýhody. Můžete buď přizpůsobit aplikaci tomuto modelu konfigurace, nebo se pokusit poupravit konfigurační systém podle svých představ (z vlastní zkušenosti mohu potvrdit, že úsilí k tomu vynaložené se rozhodně nevyplatí, zabýval sem se tím dost dlouho).

Dále bych upozornil, že myapp.config slouží pouze jako jakási šablona ve které jsou definovány výchozí hodnoty konfigurace a do které se nic nezapisuje.

Pokud stále nemáte jasno, vřele doporučuji nastudovat toto:

http://blogs.msdn.com/rprabhu/articles/4...

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Mockrát Vám děkuji pane Linhart.

Vaše odpověď je vyčerpávající.

Vámi uvedený link si prostuduji.

Ještě jednou děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback