Megosztás a következőn keresztül:


Alkalmazásbeállítások áttekintése

Ez a cikk bemutatja, hogyan hozhat létre és tárolhat beállításadatokat az alkalmazás és a felhasználók nevében.

A Windows Forms Alkalmazásbeállítások funkciója megkönnyíti az egyéni alkalmazások és felhasználói beállítások létrehozását, tárolását és karbantartását az ügyfélszámítógépen. A Windows Forms alkalmazásbeállításaival nem csak az alkalmazásadatokat, például az adatbázis-kapcsolati sztringeket, hanem a felhasználóspecifikus adatokat is tárolhatja, például a felhasználói alkalmazás beállításait. A Visual Studio vagy az egyéni felügyelt kód használatával új beállításokat hozhat létre, elolvashatja és lemezre írhatja őket, az űrlapok tulajdonságaihoz kötheti őket, és a betöltés és mentés előtt érvényesítheti a beállítások adatait.

Az alkalmazásbeállítások lehetővé teszik a fejlesztők számára, hogy nagyon kevés egyéni kóddal mentsenek állapotot az alkalmazásukba, és a .NET-keretrendszer korábbi verzióiban a dinamikus tulajdonságokat helyettesítik. Az alkalmazásbeállítások számos fejlesztést nyújtanak a dinamikus tulajdonságokhoz képest, amelyek írásvédettek, későn kötődőek, és több egyéni programozást igényelnek. A dinamikus tulajdonságosztályokat a .NET-keretrendszer 2.0-s verziója megőrizte, de ezek csak azok a rendszerhéjosztályok, amelyek vékonyan körbefuttatják az alkalmazásbeállítások osztályokat.

Mik azok az alkalmazásbeállítások?

A Windows Forms-alkalmazások gyakran igényelnek olyan adatokat, amelyek kritikus fontosságúak az alkalmazás futtatásához, de amelyeket nem szeretne közvetlenül az alkalmazás kódjába felvenni. Ha az alkalmazás webszolgáltatást vagy adatbázis-kiszolgálót használ, érdemes lehet ezeket az adatokat egy külön fájlban tárolni, hogy a jövőben újrafordítás nélkül módosíthassa. Hasonlóképpen előfordulhat, hogy az alkalmazások az aktuális felhasználóra jellemző adatok tárolását igénylik. A legtöbb alkalmazás például olyan felhasználói beállításokkal rendelkezik, amelyek testre szabják az alkalmazás megjelenését és viselkedését.

Az alkalmazásbeállítások mindkét igényt kielégítik azáltal, hogy egyszerű módot biztosítanak az alkalmazás- és felhasználóhatókörű beállítások tárolására az ügyfélszámítógépen. A Visual Studio vagy egy kódszerkesztő használatával egy adott tulajdonság beállítását a nevének, adattípusának és hatókörének (alkalmazás vagy felhasználó) megadásával határozhatja meg. A kapcsolódó beállításokat elnevezett csoportokba is elhelyezheti a könnyebb használat és olvashatóság érdekében. A definiálást követően ezek a beállítások megmaradnak, és futásidőben automatikusan visszaolvashatók a memóriába. A csatlakoztatható architektúra lehetővé teszi az adatmegőrzési mechanizmus módosítását, de alapértelmezés szerint a helyi fájlrendszert használja a rendszer.

Az alkalmazásbeállítások úgy működnek, hogy xml-fájlként megőrzik az adatokat a különböző konfigurációs (.config) fájlokban, amely megfelel annak, hogy a beállítás alkalmazáshatókörű vagy felhasználói hatókörű-e. A legtöbb esetben az alkalmazás hatókörébe tartozó beállítások írásvédettek; mivel ezek programinformációk, általában nem kell őket felülírnia. Ezzel szemben a felhasználói hatókörű beállítások futásidőben is biztonságosan olvashatók és írhatók, még akkor is, ha az alkalmazás részleges megbízhatósági kapcsolaton fut. További információ a részleges megbízhatóságról: Biztonság a Windows Formsban – áttekintés.

A beállítások XML-töredékként vannak tárolva a konfigurációs fájlokban. Az alkalmazás hatókörébe tartozó beállításokat a <applicationSettings> elem jelöli, és általában alkalmazás.exe.config, ahol alkalmazás a fő végrehajtható fájl neve. A felhasználói hatókörű beállításokat a <userSettings> elem jelöli, és a user.confighelyen találhatók. Telepítenie kell a alkalmazás.exe.config fájlt az alkalmazásával; a beállításarchitektúra létrehozza a user.config fájlt igény szerint, amikor az alkalmazás először menti a felhasználó beállításait. <userSettings>.exe.config blokkját is definiálhatja, hogy alapértelmezett értékeket adjon meg a felhasználó hatókörébe tartozó beállításokhoz.

Az egyéni vezérlők saját beállításokat is menthetnek a IPersistComponentSettings felület implementálásával, amely elérhetővé teszi a SaveSettings metódust. A Windows Forms ToolStrip vezérlő implementálja ezt a felületet, hogy mentse az eszköztárak és eszköztárelemek helyét az alkalmazás munkamenetei között. Az egyéni vezérlőkről és alkalmazásbeállításokról további információt Egyéni vezérlők alkalmazásbeállításaicímű témakörben talál.

Hol vannak tárolva a felhasználó hatókörű beállításai?

Az alapértelmezett szolgáltató ( LocalFileSettingsProvider) a felhasználó által megadott beállításokat a LocalApplicationData mappában tárolja. Ha ez a mappa nem érhető el, a rendszer a ApplicationData mappát használja. A rendszer létrehoz egy alkalmazásspecifikus almappát a felhasználó által hatókörrel rendelkező beállításfájl tárolására. A mappa neve az alkalmazás fő szerelvényénekhárom attribútumán alapul:

  • A szerelvény CompanyName.
  • Kivonatolt érték két információ alapján:
    • A szerelvény FriendlyName. Ha FriendlyName nem érhető el, akkor a ProductName kerül felhasználásra.
    • A szerelvény , ha elérhető, ellenkező esetben a rendszer a szerelvényhez abszolút mappa elérési útját használja.
  • A AssemblyName.Version sztring.

Ha az előző összeállítás részleteinek bármelyike megváltozik, a korábbi felhasználói hatókörű beállítások elvesznek, mert új almappanév jön létre. Ha például az alkalmazás új verziója jelenik meg, és a AssemblyName.Version értéke eltér az előző verziótól, a felhasználó által hatókörbe tartozó beállítások tárolására használt almappának a neve megváltozik. Ha a felhasználói beállításoknak meg kell őriznie az alkalmazáskiadások között, hozzon létre egy egyéni beállításszolgáltatót. További információ: Egyéni beállítások szolgáltatói.

Az alkalmazásbeállítások korlátozásai

Nem használhat alkalmazásbeállításokat a .NET-keretrendszert futtató nem felügyelt alkalmazásokban. A beállítások nem működnek olyan környezetekben, mint a Visual Studio-bővítmények, a Microsoft Office C++ funkciója, az Internet Explorerben való üzemeltetés vezérlése vagy a Microsoft Outlook-bővítmények és -projektek.

A Windows Formsban jelenleg nem lehet egyes tulajdonságokhoz kapcsolódni. A legemlegánsabb példa a ClientSize tulajdonság, mivel a tulajdonsághoz való kötés futásidőben kiszámíthatatlan viselkedést okozna. Ezeket a problémákat általában úgy lehet megkerülni, hogy programozott módon menti és betölti ezeket a beállításokat.

Az alkalmazásbeállítások nem tartalmaznak beépített lehetőséget az információk automatikus titkosítására. Soha ne tárolja a biztonsággal kapcsolatos információkat, például az adatbázisjelszavakat tiszta szövegben. Ha ilyen bizalmas információkat szeretne tárolni, ön, mint az alkalmazásfejlesztő felelős a biztonság biztosításáért. Ha kapcsolati sztringeket szeretne tárolni, azt javasoljuk, hogy a Windows Integrált biztonság szolgáltatását használja, és ne használjon nehezen kódolt jelszavakat az URL-címre. További információ: Code Access Security és ADO.NET.

Az alkalmazásbeállítások használatának első lépései

A Visual Studio használata esetén a Windows Forms Designerben a (ApplicationSettings) tulajdonsággal határozhatja meg a beállításokat a Tulajdonságok ablakban. Ha így definiálja a beállításokat, a Visual Studio automatikusan létrehoz egy egyéni felügyelt burkolóosztályt, amely az egyes beállításokat egy osztálytulajdonsághoz társítja. A Visual Studio gondoskodik arról is, hogy a beállítás egy űrlapon vagy vezérlőelemen lévő tulajdonsághoz legyen kötve, így a vezérlőelem beállításai automatikusan visszaállíthatók az űrlap megjelenésekor, és automatikusan menthetők az űrlap bezárásakor.

Ha részletesebben szeretné szabályozni a beállításokat, saját egyéni alkalmazásbeállítások burkolóosztályát is meghatározhatja. Ez úgy érhető el, hogy egy osztályt ApplicationSettingsBaseszármaztat, hozzáad egy, az egyes beállításoknak megfelelő tulajdonságot, és speciális attribútumokat alkalmaz ezekre a tulajdonságokra. A burkolóosztályok létrehozásával kapcsolatos részletekért lásd alkalmazásbeállítások architektúrájának.

A Binding osztály használatával programozott módon kötheti a beállításokat az űrlapok és vezérlők tulajdonságaihoz.

Lásd még