Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, uygulamanız ve kullanıcılarınız adına ayarlar verilerinin nasıl oluşturulacağı ve depolanacakları açıklanır.
Windows Forms'un Uygulama Ayarları özelliği, istemci bilgisayarda özel uygulama ve kullanıcı tercihleri oluşturmayı, depolamayı ve korumayı kolaylaştırır. Windows Forms uygulama ayarlarıyla yalnızca veritabanı bağlantı dizeleri gibi uygulama verilerini değil, kullanıcı uygulaması tercihleri gibi kullanıcıya özgü verileri de depolayabilirsiniz. Visual Studio veya özel yönetilen kod kullanarak yeni ayarlar oluşturabilir, bunları diskten okuyabilir ve diske yazabilir, formlarınızdaki özelliklere bağlayabilir ve yükleme ve kaydetme işleminden önce ayarlar verilerini doğrulayabilirsiniz.
Uygulama ayarları, geliştiricilerin çok az özel kod kullanarak uygulamalarında durum kaydetmesine olanak tanır ve .NET Framework'ün önceki sürümlerinde dinamik özelliklerin yerini alır. Uygulama ayarları, salt okunur, geç bağlanmalı ve daha fazla özel programlama gerektiren dinamik özellikler üzerinde birçok iyileştirme sağlamaktadır. Dinamik özellik sınıfları .NET Framework 2.0'da tutuldu, ancak bunlar yalnızca uygulama ayarları sınıflarını ince bir şekilde sarmalayan kabuk sınıflarıdır.
Uygulama Ayarları Nedir?
Windows Forms uygulamalarınız genellikle uygulamayı çalıştırmak için kritik olan ancak doğrudan uygulamanın koduna eklemek istemediğiniz verilere ihtiyaç duyar. Uygulamanız bir Web Hizmeti veya veritabanı sunucusu kullanıyorsa, gelecekte yeniden derlemeden değiştirebilmeniz için bu bilgileri ayrı bir dosyada depolamak isteyebilirsiniz. Benzer şekilde, uygulamalarınız geçerli kullanıcıya özgü verilerin depolanmasını gerektirebilir. Örneğin çoğu uygulama, uygulamanın görünümünü ve davranışını özelleştiren kullanıcı tercihlerine sahiptir.
Uygulama ayarları, istemci bilgisayarda hem uygulama kapsamlı hem de kullanıcı kapsamlı ayarları depolamak için kolay bir yol sağlayarak her iki gereksinimi de giderir. Visual Studio veya kod düzenleyicisi kullanarak, belirli bir özelliğin adını, veri türünü ve kapsamını (uygulama veya kullanıcı) belirterek bir ayar tanımlarsınız. Daha kolay kullanım ve okunabilirlik için ilgili ayarları adlandırılmış gruplara bile yerleştirebilirsiniz. Tanımlandıktan sonra bu ayarlar kalıcı hale getirilir ve çalışma zamanında otomatik olarak belleğe geri okunur. Takılabilir mimari kalıcılık mekanizmasının değiştirilmesini sağlar, ancak varsayılan olarak yerel dosya sistemi kullanılır.
Uygulama ayarları, verilerin xml olarak farklı yapılandırma (.config) dosyalarına kalıcı hale getirilerek çalışır. Bu, ayarın uygulama kapsamlı mı yoksa kullanıcı kapsamlı mı olduğuna karşılık gelen dosyalardır. Çoğu durumda, uygulama kapsamında olan ayarlar salt okunur niteliktedir; çünkü bunlar program bilgileri olduğundan, genellikle bunları değiştirmenize gerek yoktur. Buna karşılık, uygulamanız kısmi güven altında çalışsa bile, kullanıcıya özgü ayarlar çalışma zamanında güvenle okunabilir ve yazılabilir. Kısmi güven hakkında daha fazla bilgi için bkz. Windows Forms'da Güvenliğe Genel Bakış.
Ayarlar, yapılandırma dosyalarında XML parçaları olarak depolanır. Uygulama kapsamlı ayarlar <applicationSettings>
öğesiyle temsil edilir ve genellikle uygulama.exe.config, ana yürütülebilir dosyanızın adı uygulama olduğu yerde, yerleştirilir. Kullanıcı kapsamlı ayarlar <userSettings>
öğesiyle temsil edilir ve user.configiçine yerleştirilir. uygulamasını.exe.config dosyasını uygulamanızla dağıtmanız gerekir; ayarlar mimarisi, uygulama bu kullanıcının ayarlarını ilk kez kaydettiğinde isteğe bağlı olarak user.config dosyasını oluşturur. Kullanıcı kapsamlı ayarlar için varsayılan değerler sağlamak üzere <userSettings>
.exe.config içine bir bloğu da tanımlayabilirsiniz.
Özel denetimler, IPersistComponentSettings yöntemini kullanıma sunan SaveSettings arabirimini uygulayarak kendi ayarlarını da kaydedebilir. Windows Forms ToolStrip denetimi, araç çubuklarının ve araç çubuğu öğelerinin uygulama oturumları arasındaki konumunu kaydetmek için bu arabirimi uygular. Özel denetimler ve uygulama ayarları hakkında daha fazla bilgi için bkz. Özel Denetimler için Uygulama Ayarları.
Kullanıcıya özel ayarlar nerede saklanır?
LocalFileSettingsProvidervarsayılan sağlayıcı, kullanıcıya özel ayarları LocalApplicationData klasöründe depolar. Bu klasör kullanılamıyorsa, ApplicationData klasörü kullanılır. Kullanıcı kapsamlı ayarlar dosyasını depolamak için uygulamaya özgü bir alt klasör oluşturulur. Bu klasörün adı, uygulamanın ana derlemehakkındaki üç özniteliği temel alır:
- Derlemenin CompanyName.
- İki bilgi parçasına dayalı karma değer:
- Derlemenin FriendlyName.
FriendlyName
kullanılamıyorsa, ProductName kullanılır. - Mevcutsa derlemenin StrongName, aksi takdirde derlemeye klasörün mutlak yolu kullanılır.
- Derlemenin FriendlyName.
- AssemblyName.Version dizesi.
Yukarıdaki derleme ayrıntılarından herhangi biri değişirse, yeni bir alt klasör adı oluşturulduğundan önceki kullanıcı kapsamlı ayarlar kaybolur. Örneğin, uygulamanın yeni bir sürümü yayınlanırsa ve AssemblyName.Version
değeri önceki sürümden farklıysa, kullanıcı kapsamlı ayarları depolamak için kullanılan alt klasörün adı değişir. Kullanıcı ayarlarının uygulama sürümleri arasında kalıcı olması gerekiyorsa, özel bir ayarlar sağlayıcısı oluşturun. Daha fazla bilgi için bkz. Özel Ayarlar Sağlayıcıları.
Uygulama Ayarlarının Sınırlamaları
.NET Framework'ün barındırıldığı yönetilmeyen bir uygulamada uygulama ayarlarını kullanamazsınız. Ayarlar Visual Studio eklentileri, Microsoft Office için C++, Internet Explorer'da barındırma denetimi veya Microsoft Outlook eklentileri ve projeleri gibi ortamlarda çalışmaz.
Şu anda Windows Forms'da bazı özelliklere bağlanamazsınız. En önemli örnek, ClientSize özelliğidir çünkü bu özelliğe bağlanmak çalışma zamanında öngörülemeyen davranışlara neden olabilir. Genellikle bu ayarları program aracılığıyla kaydedip yükleyerek bu sorunlara geçici bir çözüm bulabilirsiniz.
Uygulama ayarlarının bilgileri otomatik olarak şifrelemek için yerleşik bir özelliği yoktur. Veritabanı parolaları gibi güvenlikle ilgili bilgileri hiçbir zaman düz metinde depolamamalısınız. Bu tür hassas bilgileri depolamak istiyorsanız, uygulamanın güvenli olduğundan emin olmak uygulama geliştiricisi olarak siz sorumlu olursunuz. Bağlantı dizelerini depolamak istiyorsanız Windows Tümleşik Güvenliği kullanmanızı ve URL'de parolaları sabit kodlamaya başvurmamanızı öneririz. Daha fazla bilgi için bkz. Kod Erişim Güvenliği veADO.NET.
Uygulama Ayarlarını Kullanmaya Başlama
Visual Studio kullanıyorsanız, Özellikler penceresindeki (ApplicationSettings) özelliğini kullanarak Windows Forms Designer'da ayarları tanımlayabilirsiniz. Ayarları bu şekilde tanımladığınızda, Visual Studio otomatik olarak her ayarı bir sınıf özelliğiyle ilişkilendiren özel bir yönetilen sarmalayıcı sınıfı oluşturur. Visual Studio ayrıca, denetimin ayarlarının formu görüntülendiğinde otomatik olarak geri yüklenmesi ve form kapatıldığında otomatik olarak kaydedilmesi için ayarı form veya denetimdeki bir özelliğe bağlamayı da üstlenir.
Ayarlarınız üzerinde daha ayrıntılı denetim istiyorsanız kendi özel uygulama ayarları sarmalayıcı sınıfınızı tanımlayabilirsiniz. Bu, ApplicationSettingsBase'den bir sınıf türetilerek, her ayara karşılık gelen bir özellik eklenerek ve bu özelliklere özel öznitelikler uygulanarak gerçekleştirilir. Sarmalayıcı sınıfları oluşturma hakkında ayrıntılı bilgi için bkz. Uygulama Ayarları Mimarisi.
Ayrıca, Binding sınıfını kullanarak formları ve denetimlerin özelliklerine program aracılığıyla ayarları bağlayabilirsiniz.
Ayrıca bakınız
- ApplicationSettingsBase
- SettingsProvider
- LocalFileSettingsProvider
- IPersistComponentSettings
- Nasıl yapılır: Uygulama Ayarlarını Doğrulama
- Uygulama Ayarlarını Yönetme (.NET)
- Nasıl Yapılır: C# ile Çalışma Zamanında Ayarları Okuma
- Uygulama Ayarlarını ve Kullanıcı Ayarlarını Kullanma
- Uygulama Ayarları Mimarisi
- Özel Denetimler için Uygulama Ayarları
.NET Desktop feedback