Uygulama Ayarlarına Genel Bakış
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ı dizesi 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ğlanan ve daha fazla özel programlama gerektiren dinamik özellikler üzerinde birçok geliştirme içerir. 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ında kalıcı hale getirilerek çalışır ve bu ayar uygulama kapsamlı mı yoksa kullanıcı kapsamlı mı olduğuna karşılık gelen dosyalardır. Çoğu durumda, uygulama kapsamlı ayarlar salt okunur olur; bunlar program bilgileri olduğundan, genellikle bunların üzerine yazmanız gerekmez. Buna karşılık, uygulamanız kısmi güven altında çalışsa bile kullanıcı kapsamlı 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 öğesiyle <applicationSettings>
temsil edilir ve genellikle app.exe.config dosyasına yerleştirilir; burada uygulama ana yürütülebilir dosyanızın adıdır. Kullanıcı kapsamlı ayarlar öğesi tarafından <userSettings>
temsil edilir ve user.config içine yerleştirilir. app.exe.config dosyasını uygulamanızla dağıtmanız gerekir; uygulama bu kullanıcının ayarlarını ilk kez kaydettiğinde ayarlar mimarisi user.config dosyasını isteğe bağlı olarak oluşturur. Kullanıcı kapsamlı ayarlar için varsayılan değerler sağlamak üzere app.exe.config içinde bir <userSettings>
blok da tanımlayabilirsiniz.
Özel denetimler, yöntemini kullanıma sunan SaveSettings arabirimini uygulayarak IPersistComponentSettings kendi ayarlarını da kaydedebilir. Windows Forms ToolStrip denetimi, uygulama oturumları arasında araç çubuklarının ve araç çubuğu öğelerinin 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ı kapsamlı ayarlar nerede depolanır?
Varsayılan sağlayıcı olan LocalFileSettingsProvider, kullanıcı kapsamlı 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 derlemesi hakkındaki üç özniteliği temel alır:
- Derlemenin .CompanyName
- İki bilgi parçasına dayalı karma değer:
- Derlemenin .FriendlyName Kullanılamıyorsa
FriendlyName
, ProductName kullanılır. - StrongName Derleme kullanılabilirse, aksi takdirde derlemenin mutlak klasör yolu kullanılır.
- Derlemenin .FriendlyName Kullanılamıyorsa
- Dize AssemblyName.Version .
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ğer ö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 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. Bu özelliğe bağlanmak çalışma zamanında öngörülemeyen davranışlara neden olabileceğinden en önemli örnek özelliğidir ClientSize . 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ı dizesi depolamak istiyorsanız Windows Tümleşik Güvenlik'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 ve ADO.NET.
Uygulama Ayarlar Kullanmaya Başlama
Visual Studio kullanıyorsanız, Özellikler penceresindeki (Application Ayarlar) özelliğini kullanarak Windows Forms Tasarım Aracı 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, öğesinden ApplicationSettingsBasebir 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, form ve denetimler Binding üzerindeki özelliklere program aracılığıyla ayarları bağlamak için sınıfını da kullanabilirsiniz.
Ayrıca bkz.
- ApplicationSettingsBase
- SettingsProvider
- LocalFileSettingsProvider
- IPersistComponentSettings
- Nasıl yapılır: Uygulama Ayarlarını Doğrulama
- Uygulama Ayarlarını Yönetme
- Nasıl Yapılır: Çalışma Zamanında C# ile Ayarları Okuma
- Uygulama Ayarları ve Kullanıcı Ayarlarını Kullanma
- Uygulama Ayarları Mimarisi
- Özel Denetimler için Uygulama Ayarları
.NET Desktop feedback