JAK: Przechowywanie informacji niestandardowych w pliku konfiguracji aplikacji i pobieranie ich z niego za pomocą programu Visual Basic .NET

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 313405 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Ten artykuł został opublikowany wcześniej pod numerem PL313405
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule pokazano, jak przechowywać w pliku konfiguracji (.config) informacje niestandardowe, które później można pobrać w czasie wykonania za pomocą skojarzonej z tym plikiem aplikacji. Jest to przydatne, kiedy trzeba określić dane, które są skojarzone z aplikacją.

Wymagania

Oto lista wymaganych elementów, takich jak sprzęt, oprogramowanie, infrastruktura sieci i dodatki Service Pack:
  • System Microsoft Windows 2000 lub Microsoft Windows XP:
  • Program Microsoft Visual Studio .NET
W artykule założono, że czytelnik zna następujące tematy:
  • Język Extensible Markup Language (XML)
  • Pliki konfiguracji .NET

Tworzenie aplikacji konsoli, która odczytuje zawartość pliku konfiguracji

Ustawienia aplikacji można przechowywać w pliku konfiguracji, który jest skojarzony z aplikacją. Pliki konfiguracji są zapisywane w formacie XML. Obszary nazw System.Configuration i System.Collections.Specialized w architekturze Microsoft .NET Framework obejmują niezbędne klasy umożliwiające pobieranie informacji z pliku konfiguracji aplikacji .NET w czasie wykonania.

Aby utworzyć aplikację konsoli, która odczytuje zawartość skojarzonego z nią pliku konfiguracji w czasie wykonania, wykonaj następujące kroki:
  1. Otwórz program Visual Studio .NET.
  2. W programie Visual Basic .NET utwórz nowy projekt aplikacji konsoli o nazwie ConConfig. Program Visual Basic .NET domyślnie tworzy moduł o nazwie Module1.
  3. Upewnij się, że okno Solution Explorer jest widoczne. Jeśli nie jest, naciśnij klawisze CTRL+ALT+L.
  4. W oknie Solution Explorer kliknij przycisk Show All Files.
  5. Kliknij prawym przyciskiem myszy folder Bin, a następnie kliknij polecenie Include in Project.
  6. Kliknij prawym przyciskiem myszy folder Bin, wskaż polecenie Add, a następnie kliknij polecenie Add New Item.
  7. W oknie dialogowym Add New Item zaznacz szablon Application Configuration File, kliknij przycisk Open, a następnie dodaj do projektu plik App.config.

    UWAGA: Pliki konfiguracji aplikacji muszą znajdować się w tym samym folderze, co plik wykonywalny, z którym są skojarzone. Ponieważ program Visual Studio .NET umieszcza pliki wykonywalne w folderze Bin, plik konfiguracji również trzeba umieścić w folderze Bin.
  8. Plikowi konfiguracji aplikacji trzeba nadać nazwę w następującym formacie:
    NazwaAplikacji.TypAplikacji.config
    W oknie Solution Explorer kliknij prawym przyciskiem myszy plik App.config, a następnie kliknij polecenie Rename. Zmień nazwę pliku App.config na ConConfig.exe.config. Skojarzona z tym plikiem .config aplikacja będzie go mogła teraz odnaleźć.
  9. Pliku konfiguracji aplikacji można użyć do zebrania niestandardowych ustawień aplikacji, które zapisano w formacie klucz/wartość. W sekcji <appSettings> skojarzonego pliku konfiguracji można dodawać elementy <add>. Każda para klucz/wartość ma jeden element <add>. Element <add> ma następujący format:
    <add key="Klucz" value="Wartość" />
    Dodaj sekcję <appSettings> z elementami <add> do pliku konfiguracji między tagami <configuration> i </configuration>. Na przykład następujący plik konfiguracji obejmuje sekcję <appSettings>, która określa trzy pary klucz/wartość:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<appSettings>
    		<add key="Klucz0" value="0" />
    		<add key="Klucz1" value="1" />
    		<add key="Klucz2" value="2" />
    	</appSettings>
    </configuration>
  10. W oknie Solution Explorer kliknij dwukrotnie plik Module1.vb, aby wyświetlić moduł Module1 w oknie kodu. Dodaj do modułu następujące instrukcje:

    UWAGA: Te instrukcje muszą pojawiać się przed wszelkimi innymi instrukcjami w pliku.
    Imports System.Configuration
    Imports System.Collections.Specialized
  11. W procedurze Sub Main zadeklaruj zmienną typu ciąg znaków do przechowywania wartości klucza pliku konfiguracji z sekcji <appSettings> pliku konfiguracji:
    Dim sAttr As String
  12. Aby pobrać wartość określonego klucza z sekcji <appSettings> pliku konfiguracji, użyj metody AppSettings klasy ConfigurationSettings. Klasa ConfigurationSettings należy do obszaru nazw System.Configuration. Gdy metoda AppSettings pobierze wejściowy parametr typu ciąg znaków, który zawiera klucz, aplikacja pobiera wartość skojarzoną z tym kluczem.

    Następujący kod pobiera wartość atrybutu Klucz0 ze skojarzonego pliku konfiguracji. Następnie wartość ta zostaje umieszczona w zmiennej typu ciąg znaków, sAttr. Jeśli nie istnieje klucz dla danej wartości, w zmiennej sAttr jest przechowywana wartość Nothing.
    sAttr = ConfigurationSettings. AppSettings("Klucz0")
  13. Aby wartość pobraną przez aplikację wyświetlić w oknie Console, użyj metody Console.WriteLine:
    Console.WriteLine("Wartość klucza Klucz0: " & sAttr)
  14. Wystarczy użyć jednego odwołania do właściwości AppSettings, aby pobrać wszystkie pary klucz/wartość z sekcji <appSettings>. Jeśli używając właściwości AppSettings, nie określisz żadnych parametrów, aplikacja zwraca wszystkie skojarzone pary klucz/wartość. Te pary są przechowywane w zmiennej typu NameValueCollection, która zawiera wpisy klucz/wartość dla każdego klucza pobranego przez aplikację. Klasa NameValueCollection należy do obszaru nazw System.Collections.Specialized.
    Dim sAll As NameValueCollection
    sAll = ConfigurationSettings.AppSettings()
  15. Właściwość AllKeys klasy NameValueCollection odwołuje się do tablicy typu ciąg znaków, która zawiera wpis dla każdego klucza pobranego przez aplikację. Aby uzyskać dostęp do każdego z tych kluczy, użyj konstrukcji For Next do iterowania przez tablicę AllKeys. Typem danych każdego wpisu klucza w tablicy AllKeys jest ciąg znaków.
    Dim s As String
    For Each s In sAll.AllKeys
  16. Wewnątrz konstrukcji For Each użyj metody Console.WriteLine, aby wyświetlić klucz i skojarzoną z nim wartość w oknie Console. Bieżący klucz, który przetwarza aplikacja, znajduje się w zmiennej „s”. Użyj jej jako indeksu w zmiennej NameValueCollection sAll, aby uzyskać skojarzoną wartość.

    Jeśli na przykład aplikacja przetwarza klucz Klucz0, instrukcja sAll("Klucz0") pobiera skojarzoną wartość. Instrukcja Console.Readline wstrzymuje konsolę. Aby zakończyć aplikację, można nacisnąć klawisz ENTER.
        Console.WriteLine("Klucz: " & s & " Wartość: " & sAll(s))
    Next
    Console.Readline

Testowanie kodu

Naciśnij klawisz F5, aby uruchomić kod. W oknie Console powinny zostać wyświetlone pary klucz/wartość z sekcji <appSettings> skojarzonego pliku konfiguracji, jak następuje:
Wartość klucza Klucz0: 0
Klucz: Klucz0 Wartość:0
Klucz: Klucz1 Wartość:1
Klucz: Klucz2 Wartość:2

Pełny kod

Imports System.Configuration
Imports System.Collections.Specialized

Module Module1

    Sub Main()
        Dim sAttr As String

        sAttr = ConfigurationSettings.AppSettings("Klucz0")
        Console.WriteLine("Wartość klucza Klucz0: " & sAttr)
        
        Dim sAll As NameValueCollection
        sAll = ConfigurationSettings.AppSettings()

        Dim s As String
        For Each s In sAll.AllKeys
            Console.WriteLine("Klucz: " & s & " Wartość: " & sAll(s))
        Next
		  Console.ReadLine()
    End Sub

End Module

Pełny plik konfiguracji (ConConfig.exe.config)

<configuration>
	<appSettings>
		<add key="Klucz0" value="0"/>
		<add key="Klucz1" value="1"/>
		<add key="Klucz2" value="2"/>
	</appSettings>
</configuration>

Rozwiązywanie problemów

  • Plik konfiguracji jest zapisywany w formacie XML. Upewnij się, czy przestrzegasz wszystkich reguł składni języka XML. Pamiętaj, że w języku XML jest rozróżniana wielkość liter. Jeśli forma kodu XML będzie nieodpowiednia lub jeśli jakikolwiek element będzie błędnie napisany, pojawi się wyjątek System.Configuration.Configuration.

    Jeśli na przykład doda się atrybut key elementu <add> napisany wielką literą „K” zamiast małą „k” lub nazwę sekcji <appSettings> zapisze się jako <AppSettings> (z wielką literą „A” zamiast z małą „a”), pojawi się komunikat o błędzie.
  • Plik konfiguracji musi znajdować się w tym samym folderze, co skojarzona z nim aplikacja.
  • Należy użyć następującej składni nazwy pliku konfiguracji:
    NazwaAplikacji.TypAplikacji.config
    gdzie NazwaAplikacji jest nazwą aplikacji, TypAplikacji jest typem aplikacji (na przykład .exe), a .config jest wymaganym sufiksem.

Materiały referencyjne

Aby uzyskać dodatkowe informacje, odwiedź następujące witryny MSDN w sieci Web:
Accessing Configuration Settings
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconaccessingconfigurationsettings.asp

ConfigurationSettings.AppSettings Property
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemConfigurationConfigurationSettingsClassAppSettingsTopic.asp

System.Configuration Namespace
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemConfiguration.asp

Właściwości

Numer ID artykułu: 313405 - Ostatnia weryfikacja: 24 lutego 2002 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Visual Basic .NET 2002 Standard Edition
Słowa kluczowe: 
kbhowto kbhowtomaster KB313405

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com