Bilgi depolama ve özel bir uygulama yapılandırma dosyası Visual C# kullanarak almak için

Makale çevirileri Makale çevirileri
Makale numarası: 815786 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makalenin Microsoft Visual Basic .NET sürümü için bkz: 313405.
Bu makalede, aşağıdaki Microsoft .NET Framework Sınıf Kitaplığı ad alanına başvurulmaktadır:
  • System.Configuration
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, ilişkili uygulama tarafından çalışma zamanı sırasında daha sonra alabileceğiniz bir <a1>yapılandırma</a1> (.config) dosyasındaki özel bilgilerini depolamak açıklamaktadır. Bir uygulama ile ilişkili olan verileri yeniden tanımlamalısınız bu yararlıdır.

Gereksinimler

Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Windows 2000, Windows XP, Windows Server 2003, Windows Vista veya Windows Server 2008
  • Microsoft Visual C#
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • Genişletilebilir Biçimlendirme Dili (XML)
  • .NET yapılandırma dosyaları

Bir yapılandırma dosyası içeriğini okuma bir konsol uygulaması oluşturun.

Uygulama ayarlarını, uygulama ile ilişkili yapılandırma dosyasında depolar. Yapılandırma dosyaları XML biçiminde kaydedilir biçimi.

Bilgi, çalıştırma süresinde .NET uygulama yapılandırma dosyasından almak için gerekli olan sınıflar, System.Configuration ve Microsoft .NET Framework System.Collections.Specialized boşluklarında içerir.

Çalıştırma sırasında bir ilişkili yapılandırma dosyasının içeriğini okuyan bir konsol uygulaması oluşturmak için aşağıdaki adımları izleyin:
  1. Visual Studio .NET veya Visual Studio 2005'i başlatın.
  2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
  3. Visual C#Project Types altında'ı tıklatın ve şablonları altında Console Application ' ı tıklatın. Projeyi ConConfig. Varsayılan olarak, Visual C# program adlı bir sınıfı olarak oluşturur.

    Not Visual Studio .NET 2003, Project Types altında Visual C# Projects ' ı tıklatın ve şablonları altında Console Application ' ı tıklatın. Projeyi ConConfig. Varsayılan olarak, Visual C# Class1 adlı bir sınıfı olarak oluşturur.
  4. Solution Explorer (Çözüm Gezgini) penceresinde görünür olduğundan emin olun. Görünür durumda değilse, CTRL + ALT + N tuş birleşimine basın.
  5. Solution Explorer'da (Çözüm Gezgini), proje adını sağ tıklatın, sonra da Ekle ' yi tıklatın ve sonra Yeni bir öğe ' yi tıklatın.
  6. Yeni Öğe Ekle</a0> listesinde, XML dosyasını seçmek için tıklatın.
  7. Adı metin kutusuna, App.config yazın ve sonra Ekle ' yi tıklatın.

    Not Visual Studio .NET 2003'te ' ı tıklatın.
  8. Uygulama yapılandırma dosyası, anahtar/değer biçiminde kaydettiğiniz özel uygulama ayarları toplamak için kullanabilirsiniz. <add>Içerebilir<appsettings>öğeler ilişkili yapılandırma dosyasının bir bölümü. Her anahtar/değer çifti <add>varsa öğesi. Bir <add> öğesi aşağıdaki biçimdedir:
    <add key="Key0" value="0" />
    Bir <appsettings>ekleme<add>bölümü<configuration>arasında yapılandırma dosyasının öğeleri and </configuration> etiketler.

    Örneğin, aşağıdaki yapılandırma dosyası bir <appsettings>içerir. üç anahtar/değer çiftleri belirten bir bölüm:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
       <appSettings>
          <add key="Key0" value="0" />
          <add key="Key1" value="1" />
          <add key="Key2" value="2" />
       </appSettings>
    </configuration>
    
  9. Solution Explorer'da Program.cs kodu penceresini görüntülemek için çift tıklatın. Aşağıdaki şekilde kodu modüle ekleyin.

    Not Bu ifade, tüm diğer tablolarda dosya
    using System.Configuration;
    using System.Collections.Specialized;
    önce gelmelidir
  10. System.Configuration.dll başvuru ekleyin. Bunu yapmak için şu adımları izleyin:
    1. Proje) menüsünde Add Reference ' ı tıklatın.
    2. Başvuru Ekle iletişim kutusunda, .NET sekmesini tıklatın.
    3. Bulmak ve System.Configuration, bileşen adı seçin.
    4. Tamam ' ı tıklatın.
  11. Bir yapılandırma dosyası anahtarının değeri <appsettings>içinde tutmak için bölümü yapılandırma dosyasının, dize değişkeni <a0>ana</a0> bölümündeki gibi bildirin:
     string  sAttr ;
  12. <appsettings>Belirtilen anahtar için bir değer almak için bölümü yapılandırma dosyasının ConfigurationManager</a0> sınıfının <a1>AppSettings'i</a1> özelliğinin <a2>Al</a2> yöntemini kullanın. Ad alanında System.ConfigurationConfigurationManager sınıftır. AppSettings.Get yöntemi bir anahtarı içeren bir dize giriş parametresi aldığında, uygulamanın anahtarı ile ilişkili değer olarak alır.

    Aşağıdaki kodu Key0 özniteliğinin değeri, ilişkili bir yapılandırma dosyasından alır. Kod, bu değer daha sonra sAttr dize değişkeni yerleştirir. Bu değer için bir anahtar yoksa, hiçbir şey sAttr içinde depolanan.
    sAttr = ConfigurationManager.AppSettings.Get("Key0");
  13. Uygulama, konsol penceresinde alan değerini görüntülemek için <a0></a0>, Console.WriteLine aşağıdaki gibi kullanın:
    Console.WriteLine("The value of Key0 is "+sAttr);
  14. <appsettings>Tüm anahtar/değer çiftleri almak için AppSettings'i özelliği için bir başvuru kullanabilirsiniz... bölümü. Uygulama, AppSettings'i özelliğini kullandığınızda, tüm ilişkili anahtar/değer çiftleri döndürür. Bu çiftleri bir NameValueCollection türünde depolanır. NameValueCollection uygulama alır, her anahtar için anahtar/değer girişleri içerir. NameValueCollectionSystem.Collections.Specialized ad. sınıftır
    NameValueCollection sAll ;
    sAll = ConfigurationManager.AppSettings;
  15. NameValueCollectionAllKeys özelliğini uygulama alır, her anahtar için bir girdi bir dize dizisi başvuruyor. Bir foreach inşaat uygulama alır, her bir anahtara erişim AllKeys dizi yineleme yapmak için kullanın. Her anahtar AllKeys içinde bir <a0>dize</a0> veri türü giriştir.

    Foreach yapı içinde <a0>anahtar ve ilişkili değeri, konsolda görüntülemek için kullanın Console.WriteLine pencere. Uygulama işleyen geçerli "s" anahtarıdır. Bu sAllNameValueCollection dizinde ilişkilendirilmiş bir değer,. elde etmek için kullanın
       foreach (string s in sAll.AllKeys)
          Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
       Console.ReadLine();

Kod dökümü tamamlayın.

using System;
using System.Configuration;
using System.Collections.Specialized;

namespace ConConfig
{
    class Program
    {
        static void Main(string[] args)
        {
            string sAttr;

            // Read a particular key from the config file            
            sAttr = ConfigurationManager.AppSettings.Get("Key0");
            Console.WriteLine("The value of Key0: " + sAttr);

            // Read all the keys from the config file
            NameValueCollection sAll;
            sAll = ConfigurationManager.AppSettings;

            foreach (string s in sAll.AllKeys)
                Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));
           Console.ReadLine();
       }
    }
}
Not Bu kod, .NET Framework 2.0 hedeflediği. .NET Framework 1.0 veya .NET Framework 1.1 kullanıyorsanız <a0>ConfigurationManager</a0> sınıfının tüm örneklerini dbProviderFactory için değiştirin.

Yapılandırma dosyası (ConConfig.exe.config) listesini tamamlayın.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <appSettings>
      <add key="Key0" value="0" />
      <add key="Key1" value="1" />
      <add key="Key2" value="2" />
   </appSettings>
</configuration>

It Works That doğrulayın.

Kodu çalıştırmak için F5 tuşuna basın. Konsol penceresinde, anahtar/değer çiftleri arasında <appsettings>görüntülenmelidir bölümüne ilişkili yapılandırma dosyası aşağıdaki gibi:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
		

Sorun Giderme

  • Yapılandırma dosyası, XML biçiminde kaydedilir. Tüm XML sözdizimi kuralları izleyin emin olun. XML büyük küçük harf duyarlı olduğunu unutmayın. XML iyi biçimlendirilmiş veya yanlış yazılmış bir öğe varsa, bir System.Configuration.Configuration özel durumu alıyorsunuz.

    Örneğin, bir <add>anahtar öznitelik eklemek bir büyük "K" yerine, bir küçük "k" olan öğe veya <appsettings> bölümü <appsettings>görünür... (ile bir büyük harf "A" yerine, bir küçük harf "a"), bir hata iletisi alırsınız.
  • Yapılandırma dosyasının ilgili, uygulama ile aynı klasörde kaydedilmiş olması gerekir.
  • Yapılandırma dosyası adı için aşağıdaki sözdizimini kullanmanız gerekir:
    ApplicationName. ApplicationType .config
    Burada ApplicationNameApplicationType uygulamanın adıdır <a1>Uygulama</a1> (örneğin, .exe) türüdür ve .config gerekli sonekidir.

Referanslar

Daha fazla bilgi için bkz:, aşağıdaki Microsoft Developer Network (MSDN) Web sitesi:
ConfigurationSettings.AppSettings özelliği
http://msdn.microsoft.com/en-us/library/system.configuration.configurationsettings.appsettings(vs.71).aspx
System.Configuration ad alanı
http://msdn.microsoft.com/en-us/library/system.configuration(vs.71).aspx

Özellikler

Makale numarası: 815786 - Last Review: 16 Temmuz 2008 Çarşamba - Gözden geçirme: 3.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbsweptvs2008 kbcollections kbcollectionclass kbconfig kbnamespace kbhowtomaster kbprogramming KB815786 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:815786

Geri Bildirim Ver

 

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