Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Koray Kırdinli
Koray Kırdinli
http://koraykirdinli.wordpress.com
İletişme geçmek için tıklayın.
10 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: assembly assemblyIdendity codeBase configuration developmentMode GAC IEnumerator manager runtime settings Kodlama Koray Kırdinli
 
YAZI HAKKINDA
Türü : Serbest Köşe (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : Kodlama
Yayınlanma Tarihi : 14.7.2010
Okunma Sayısı : 30812
Yorum Sayısı : 0     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 24.11.2024
Turhal Temizer
Mac OS/X Removing CUDA 24.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak 24.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi 24.11.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
C# ile Konfigürasyon Dosyaları
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bir kurulumda uygulamayı kullanıcı ihtiyaçlarına göre yüklemek , deneme sürümü olarak kullanıcıların kullanabilmesini sağlamak günümüzde oldukça önemli bir yere sahiptir. Kurulumun kolay,hızlı ve ihtiyaca uygun olması gerekir.

Hard-coding yapmayı engellemek için run-time da değişebileceğini tahmin ettiğimiz değerleri  konfigurasyon dosyasının bir parçası olan application settings dosyasına yapmalıyız.

System.Configuration namespace’i konfigürasyonu yönetmemiz için geliştirilmiş bir kütüphanedir.

//Mevcut exenin config dosyasını açmak
Configuration cs1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//Bilgisayarın machine.config dosyasını açmak
Configuration cs2 = ConfigurationManager.OpenMachineConfiguration();
 
//Belli bir path deki config dosyasını açmak
ExeConfigurationFileMap myMap = new ExeConfigurationFileMap();
myMap.ExeConfigFilename = @"ileriWindowsForms.exe.config";
Configuration cs3 = ConfigurationManager.OpenMappedExeConfiguration(myMap, ConfigurationUserLevel.None);
//Bütün cs ler mantık olarak aynı şeyi yapar. Konfigurasyon dosyasının değerlerini nesneye dönüştürür.
 
Uygulamanın genel ayarları bu config dosyasında tutulabilir.Configuration tagı altında bu ayarlar yapılabilir.Örneğin uygulamanın kullandığı .NET Framework versiyonu bu dosyada belirlenebilir. Uygulamanın .NET 1.1 ile çalışmasını garanti etmek için aşağıdaki gibi bir yapılandırma ayarı yapmamız gerekir.Eğer bunu yapmazsak default olarak sistemde yüklü olan en son versiyon ile çalışır.
<startup>
 <supportedRuntime version="v1.1.4322"/>
</startup>
Diğer genel bir konfigurasyon ayarı ise bir shared assembly kullanımı ve assembly’i GAC a yüklemektir. Bunu da   developmentMode tagı ile yapıyoruz.
<runtime>
   <developmentMode developerInstallation="true"/>
</runtime>
 
Bir dll’in bir versiyonunu runtime’da yüklemek için aşağaki tagları kullanabiliriz.
 <runtime>
    <assemblyBinding xmlns="schemaname">
      <dependentAssembly>
        <assemblyIdendity name="myprogram" publicKeyToken="xxxxxxxxx" culture="en-us"/>
        <codeBase version="x.0.0.0" href="http://koraykirdinli.blogcu.com/aa.dll"/>
      </dependentAssembly>
    </assemblyBinding>
 </runtime>

AppSettings tagları arasına uygulama ile ilgili spesifik ayarlar , ConnectionStrings taglarının arasına ise veritabanı bağlantı stringleri eklenir. AppSettings bir NameValue collection’dır fakat ConnectionStrings ConnectionStringSettingsCollection’dır.

//Tum AppSettings i okumak
NameValueCollection AllAppSettings = ConfigurationManager.AppSettings;
Int32 Counter = 0;
IEnumerator SettingsEnumerator = AllAppSettings.Keys.GetEnumerator();
while (SettingsEnumerator.MoveNext())
{
Console.WriteLine("Item {0}Value {1}",AllAppSettings.Keys[Counter],AllAppSettings[Counter]);
}
 
Application setting lerde bir web servisin URL bilgisi, remooting ayarları, vs gibi bilgiler tutulabilir.Bunları elle yazabileceğimiz gibi projeye bir settings dosyası ekleyip bu değişkenleri buradan ekleyebiliriz. Daha sonra proje build olduğunda bu değişkenler için bir sınıfı .NET bizim adımıza eklemiş olur.

[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("http://koray.com")]
public string WebServiceURL {
    get {
        return ((string)(this["WebServiceURL"]));
    }
    set {
        this["WebServiceURL"] = value;
    }
}

//Aşağıdaki şekilde setting lere erişlebilir.
Settings1 s = new Settings1();
s.WebServiceURL;
 
Özellikler remooting yaparken dll leri client makinada değil daha güçlü server makinada çalıştırarak performans kazanabiliriz. Aşağıdaki konfigurasyon ayarı servera componenti register eder.
 <system.runtime.remoting>
    <service>
      <wellknown type="FullyQualifiedName,AssemblyName" mode="Singleton" objectUri="MyClass.rem"/>
    </service>
 </system.runtime.remoting>


 
.NET Framework Configuration Tool :
Bu araç ile GAC,assembly’leri ve kod erişim yetkilerini yönetebiliriz. Ayrıca remoote servisleri ayarlayıp uygulamaları yönetebiliriz.
Makale:
C# ile Konfigürasyon Dosyaları Kodlama Koray Kırdinli
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor