Zarządzanie ustawieniami aplikacji (.NET)

Ustawienia aplikacji umożliwiają dynamiczne przechowywanie informacji o aplikacji. Za pomocą ustawień aplikacji można użyć komputera klienckiego do przechowywania informacji, które nie powinny być uwzględniane w kodzie aplikacji w czasie wykonywania. Ustawienia aplikacji mogą obejmować parametry połączenia, preferencje użytkownika i nie tylko.

Uwaga

Ustawienia aplikacji zastępują właściwości dynamiczne używane we wcześniejszych wersjach programu Visual Studio.

Każde ustawienie aplikacji musi mieć unikatową nazwę. Nazwa może być dowolną kombinacją liter, cyfr lub podkreślenia. Jednak nazwa nie może zaczynać się od liczby i nie może mieć spacji. Nazwa jest zmieniana za pomocą Name właściwości .

Ustawienia aplikacji można przechowywać jako dowolny typ danych, który jest serializowany do formatu XML lub ma TypeConverter element implementujący ToString/FromStringelement . Najbardziej typowe typy to String, Integeri Boolean. Możesz również przechowywać wartości jako Color, Objectlub jako parametry połączenia.

Ustawienia aplikacji przechowują również wartość. Wartość jest ustawiana z właściwością Value i musi być zgodna z typem danych ustawienia.

Ponadto ustawienia aplikacji mogą być powiązane z właściwością formularza lub kontrolki w czasie projektowania.

Istnieją dwa typy ustawień aplikacji na podstawie zakresu:

  • Ustawienia o zakresie aplikacji mogą służyć do obsługi informacji, takich jak adres URL usługi internetowej lub parametry połączenia bazy danych. Te wartości są skojarzone z aplikacją. W związku z tym użytkownicy nie mogą ich zmieniać w czasie wykonywania.

  • Ustawienia o zakresie użytkownika mogą służyć do obsługi informacji, takich jak utrwalanie ostatniej pozycji formularza lub preferencji czcionki. Użytkownicy mogą zmieniać te wartości w czasie wykonywania.

Typ ustawienia można zmienić przy użyciu właściwości Zakres .

System projektu przechowuje ustawienia aplikacji w dwóch plikach XML:

  • Plik app.config, który jest tworzony w czasie projektowania podczas tworzenia pierwszego ustawienia aplikacji

  • Plik user.config, który jest tworzony w czasie wykonywania, gdy użytkownik, który uruchamia aplikację, zmienia wartość dowolnego ustawienia użytkownika.

Zwróć uwagę, że zmiany w ustawieniach użytkownika nie są zapisywane na dysku, chyba że aplikacja wywołuje metodę w tym celu.

Tworzenie ustawień aplikacji w czasie projektowania

W czasie projektowania można utworzyć ustawienia aplikacji na dwa sposoby:

  • Użyj strony Ustawienia programu Project Projektant.

  • Użyj okna Właściwości dla formularza lub kontrolki, które umożliwia powiązanie ustawienia z właściwością.

Podczas tworzenia ustawienia o zakresie aplikacji (na przykład parametry połączenia bazy danych lub odwołania do zasobów serwera) program Visual Studio zapisuje je w pliku app.config z tagiem <applicationSettings> . (ciągi Połączenie ion są zapisywane w tagu<connectionStrings>).

Podczas tworzenia ustawienia o zakresie użytkownika (na przykład czcionki domyślnej, strony głównej lub rozmiaru okna) program Visual Studio zapisuje je w pliku app.config z tagiem <userSettings> .

Ważne

W przypadku przechowywania parametry połączenia w pliku app.config należy podjąć środki ostrożności, aby uniknąć ujawniania poufnych informacji, takich jak hasła lub ścieżki serwera, w parametry połączenia.

W przypadku pobrania parametry połączenia informacji ze źródła zewnętrznego, takiego jak użytkownik, który dostarcza identyfikator użytkownika i hasło, należy zachować ostrożność, aby upewnić się, że wartości używane do konstruowania parametry połączenia nie zawierają dodatkowych parametrów parametry połączenia, które zmieniają zachowanie połączenia.

Rozważ użycie funkcji Konfiguracja chroniona do szyfrowania poufnych informacji w pliku konfiguracji. Aby uzyskać więcej informacji, zobacz Ochrona informacji o połączeniu.

Uwaga

Ponieważ nie ma modelu plików konfiguracji dla bibliotek klas, ustawienia aplikacji nie są stosowane dla projektów bibliotek klas. Wyjątkiem jest projekt DLL środowiska uruchomieniowego Visual Studio Tools dla pakietu Office, który może mieć plik konfiguracji.

Używanie niestandardowych plików ustawień

Do projektu można dodawać dostosowane pliki ustawień w celu wygodnego zarządzania grupami ustawień. Ustawienia, które znajdują się w jednym pliku, są ładowane i zapisywane jako jednostka. Przechowywanie ustawień w osobnych plikach dla często używanych i rzadko używanych grup może zaoszczędzić czas ładowania i zapisywania ustawień.

Możesz na przykład dodać plik Special Ustawienia.settings do projektu. SpecialSettings Mimo że klasa nie jest uwidoczniona w My przestrzeni nazw, widok kodu może odczytać plik ustawień niestandardowych, który zawiera Partial Class SpecialSettingselement .

Ustawienia Projektant najpierw wyszukuje plik Ustawienia.settings tworzony przez system projektu. Ten plik Ustawienia.settings jest plikiem domyślnym wyświetlanym na karcie Ustawienia Project Projektant. Plik Ustawienia.settings znajduje się w folderze Mój projekt dla projektów Visual Basic i w folderze Właściwości dla projektów Visual C#. Następnie program Project Projektant wyszukuje inne pliki ustawień w folderze głównym projektu. W związku z tym należy umieścić tam plik ustawień niestandardowych. Jeśli dodasz plik .settings w innym miejscu projektu, program Project Projektant nie będzie mógł go zlokalizować.

Uzyskiwanie dostępu do ustawień aplikacji w środowisku uruchomieniowym lub zmienianie ich w języku Visual Basic

W projektach Języka Visual Basic można uzyskać dostęp do ustawień aplikacji w czasie wykonywania przy użyciu My.Settings obiektu . Na stronie Ustawienia wybierz przycisk Wyświetl kod, aby wyświetlić plik Ustawienia.vb. Ustawienia.vb definiuje klasęSettings, która umożliwia obsługę tych zdarzeń w klasie ustawień: SettingChanging, , PropertyChangedSettingsLoadedi SettingsSaving. Zwróć uwagę, że Settings klasa w pliku Ustawienia.vb jest klasą częściową, która wyświetla tylko kod należący do użytkownika, a nie całą wygenerowaną klasę. Aby uzyskać więcej informacji na temat uzyskiwania dostępu do ustawień aplikacji przy użyciu My.Settings obiektu, zobacz Access application settings (.NET Framework)(Uzyskiwanie dostępu do ustawień aplikacji (.NET Framework).

Wartości wszystkich ustawień o zakresie użytkownika, które użytkownik zmienia w czasie wykonywania (na przykład pozycja formularza) są przechowywane w pliku user.config . Zwróć uwagę, że wartości domyślne są nadal zapisywane w pliku app.config.

Jeśli jakiekolwiek ustawienia o zakresie użytkownika zostaną zmienione podczas wykonywania, na przykład podczas testowania aplikacji i chcesz zresetować te ustawienia do ich wartości domyślnych, wybierz przycisk Synchronizuj .

Zalecane jest użycie My.Settings obiektu i domyślnego pliku .settings w celu uzyskania dostępu do ustawień. Jest to zalecane, ponieważ można użyć Ustawienia Projektant do przypisania właściwości do ustawień, a ponadto ustawienia użytkownika są automatycznie zapisywane przed zamknięciem aplikacji. Jednak aplikacja Języka Visual Basic może uzyskiwać bezpośredni dostęp do ustawień. W takim przypadku musisz uzyskać dostęp do MySettings klasy i użyć niestandardowego pliku .settings w katalogu głównym projektu. Musisz zapisać ustawienia użytkownika przed zakończeniem aplikacji, tak jak w przypadku aplikacji języka C# (zgodnie z opisem w poniższej sekcji).

Uzyskiwanie dostępu do ustawień aplikacji lub zmienianie ich w czasie wykonywania w języku C#

W językach innych niż Visual Basic, takich jak C#, musisz uzyskać bezpośredni dostęp do Settings klasy, jak pokazano w poniższym przykładzie języka Visual C#.

Properties.Settings.Default.FirstUserSetting = "abc";

Aby utrwał ustawienia użytkownika, należy jawnie wywołać metodę Save tej klasy otoki. Zazwyczaj robisz to w procedurze Closing obsługi zdarzeń formularza głównego. Poniższy przykład w języku C# przedstawia wywołanie Save metody .

Properties.Settings.Default.Save();

Aby uzyskać ogólne informacje na temat uzyskiwania dostępu do ustawień aplikacji za pośrednictwem Settings klasy, zobacz Omówienie ustawień aplikacji (.NET Framework). Aby uzyskać informacje na temat iteracji za pośrednictwem ustawień, zobacz ten wpis na forum.