Gambaran Umum Pengaturan Aplikasi
Artikel ini membahas cara membuat dan menyimpan data pengaturan atas nama aplikasi dan pengguna Anda.
Fitur Pengaturan Aplikasi Formulir Windows memudahkan untuk membuat, menyimpan, dan memelihara aplikasi kustom dan preferensi pengguna di komputer klien. Dengan pengaturan aplikasi Formulir Windows, Anda tidak hanya dapat menyimpan data aplikasi seperti string koneksi database, tetapi juga data khusus pengguna, seperti preferensi aplikasi pengguna. Menggunakan Visual Studio atau kode terkelola kustom, Anda dapat membuat pengaturan baru, membacanya dari dan menulisnya ke disk, mengikatnya ke properti pada formulir Anda, dan memvalidasi data pengaturan sebelum memuat dan menyimpan.
Pengaturan aplikasi memungkinkan pengembang untuk menyimpan status dalam aplikasi mereka menggunakan kode kustom yang sangat sedikit, dan merupakan pengganti properti dinamis di versi .NET Framework sebelumnya. Pengaturan aplikasi berisi banyak peningkatan atas properti dinamis, yang bersifat baca-saja, terlambat terikat, dan memerlukan lebih banyak pemrograman kustom. Kelas properti dinamis telah dipertahankan dalam .NET Framework 2.0, tetapi hanya kelas shell yang membungkus kelas pengaturan aplikasi secara tipis.
Apa itu Pengaturan Aplikasi
Aplikasi Formulir Windows Anda akan sering memerlukan data yang penting untuk menjalankan aplikasi, tetapi yang tidak ingin Anda sertakan langsung dalam kode aplikasi. Jika aplikasi Anda menggunakan Layanan Web atau server database, Anda mungkin ingin menyimpan informasi ini dalam file terpisah, sehingga Anda dapat mengubahnya di masa mendatang tanpa mengkompilasi ulang. Demikian pula, aplikasi Anda mungkin memerlukan penyimpanan data yang khusus untuk pengguna saat ini. Sebagian besar aplikasi, misalnya, memiliki preferensi pengguna yang menyesuaikan tampilan dan perilaku aplikasi.
Pengaturan aplikasi membahas kedua kebutuhan dengan menyediakan cara mudah untuk menyimpan pengaturan cakupan aplikasi dan cakupan pengguna di komputer klien. Menggunakan Visual Studio atau editor kode, Anda menentukan pengaturan untuk properti tertentu dengan menentukan nama, jenis data, dan cakupannya (aplikasi atau pengguna). Anda bahkan dapat menempatkan pengaturan terkait ke dalam grup bernama untuk penggunaan dan keterbacaan yang lebih mudah. Setelah ditentukan, pengaturan ini dipertahankan dan dibaca kembali ke memori secara otomatis pada waktu proses. Arsitektur yang dapat dicolokkan memungkinkan mekanisme persistensi diubah, tetapi secara default, sistem file lokal digunakan.
Pengaturan aplikasi bekerja dengan mempertahankan data sebagai XML ke file konfigurasi (.config) yang berbeda, sesuai dengan apakah pengaturan dilingkup aplikasi atau dilingkup pengguna. Dalam kebanyakan kasus, pengaturan cakupan aplikasi bersifat baca-saja; karena mereka adalah informasi program, Anda biasanya tidak perlu menimpanya. Sebaliknya, pengaturan cakupan pengguna dapat dibaca dan ditulis dengan aman pada waktu proses, bahkan jika aplikasi Anda berjalan di bawah kepercayaan parsial. Untuk informasi selengkapnya tentang kepercayaan parsial, lihat Keamanan di Gambaran Umum Formulir Windows.
Pengaturan disimpan sebagai fragmen XML dalam file konfigurasi. Pengaturan cakupan aplikasi diwakili oleh <applicationSettings>
elemen , dan umumnya ditempatkan di app.exe.config, di mana aplikasi adalah nama file utama yang dapat dieksekusi. Pengaturan yang dilingkup pengguna diwakili oleh <userSettings>
elemen dan ditempatkan di user.config. Anda harus menyebarkan file app.exe.config dengan aplikasi Anda; arsitektur pengaturan akan membuat file user.config sesuai permintaan saat pertama kali aplikasi menyimpan pengaturan untuk pengguna tersebut. Anda juga dapat menentukan <userSettings>
blok dalam app.exe.config untuk menyediakan nilai default untuk pengaturan cakupan pengguna.
Kontrol kustom juga dapat menyimpan pengaturan mereka sendiri dengan mengimplementasikan IPersistComponentSettings antarmuka, yang mengekspos SaveSettings metode . Kontrol Formulir Windows ToolStrip mengimplementasikan antarmuka ini untuk menyimpan posisi toolbar dan item toolbar antar sesi aplikasi. Untuk informasi selengkapnya tentang kontrol kustom dan pengaturan aplikasi, lihat Aplikasi Pengaturan untuk Kontrol Kustom.
Di mana pengaturan cakupan pengguna disimpan
Penyedia default, LocalFileSettingsProvider, menyimpan pengaturan cakupan pengguna di LocalApplicationData folder. Jika folder tersebut tidak tersedia, ApplicationData folder akan digunakan. Subfolder khusus aplikasi dibuat untuk menyimpan file pengaturan yang dilingkup pengguna. Nama folder ini didasarkan pada tiga atribut tentang rakitan utama aplikasi:
- Assembly's CompanyName.
- Nilai hash berdasarkan dua informasi:
- Assembly's FriendlyName. Jika
FriendlyName
tidak tersedia, digunakan ProductName . - Assembly jika StrongName tersedia, jika tidak, jalur folder absolut ke assembly digunakan.
- Assembly's FriendlyName. Jika
- String AssemblyName.Version .
Jika salah satu detail rakitan sebelumnya berubah, pengaturan tercakup pengguna sebelumnya hilang karena nama subfolder baru dibuat. Misalnya, jika versi baru aplikasi dirilis dan AssemblyName.Version
nilainya berbeda dari versi sebelumnya, nama subfolder yang digunakan untuk menyimpan perubahan pengaturan yang dilingkup pengguna. Jika pengaturan pengguna harus bertahan di antara rilis aplikasi, buat penyedia pengaturan kustom. Untuk informasi selengkapnya, lihat Penyedia Pengaturan kustom.
Batasan Pengaturan Aplikasi
Anda tidak dapat menggunakan pengaturan aplikasi dalam aplikasi yang tidak dikelola yang menghosting .NET Framework. Pengaturan tidak akan berfungsi di lingkungan seperti add-in Visual Studio, C++ untuk Microsoft Office, mengontrol hosting di Internet Explorer, atau add-in dan proyek Microsoft Outlook.
Saat ini Anda tidak dapat mengikat beberapa properti dalam Formulir Windows. Contoh yang paling penting adalah ClientSize properti , karena mengikat properti ini akan menyebabkan perilaku yang tidak dapat diprediksi pada waktu proses. Anda biasanya dapat mengatasi masalah ini dengan menyimpan dan memuat pengaturan ini secara terprogram.
Pengaturan aplikasi tidak memiliki fasilitas bawaan untuk mengenkripsi informasi secara otomatis. Anda tidak boleh menyimpan informasi terkait keamanan, seperti kata sandi database, dalam teks yang jelas. Jika Anda ingin menyimpan informasi sensitif tersebut, Anda sebagai pengembang aplikasi bertanggung jawab untuk memastikannya aman. Jika Anda ingin menyimpan string koneksi, kami sarankan Anda menggunakan Windows Integrated Security dan tidak menggunakan kata sandi hard-coding ke dalam URL. Untuk informasi selengkapnya, baca Dasar-Dasar Keamanan Akses Kode.
Memulai Pengaturan Aplikasi
Jika Anda menggunakan Visual Studio, Anda dapat menentukan pengaturan dalam Formulir Windows Designer menggunakan properti (Aplikasi Pengaturan) di jendela Properti. Saat Anda menentukan pengaturan dengan cara ini, Visual Studio secara otomatis membuat kelas pembungkus terkelola kustom yang mengaitkan setiap pengaturan dengan properti kelas. Visual Studio juga mengurus pengikatan pengaturan ke properti pada formulir atau kontrol sehingga pengaturan kontrol dipulihkan secara otomatis saat formulirnya ditampilkan, dan disimpan secara otomatis saat formulir ditutup.
Jika Anda ingin kontrol yang lebih terperinci atas pengaturan Anda, Anda dapat menentukan kelas pembungkus pengaturan aplikasi kustom Anda sendiri. Ini dicapai dengan mengambil kelas dari ApplicationSettingsBase, menambahkan properti yang sesuai dengan setiap pengaturan, dan menerapkan atribut khusus ke properti ini. Untuk detail tentang membuat kelas pembungkus, lihat Arsitektur Pengaturan Aplikasi.
Anda juga dapat menggunakan Binding kelas untuk mengikat pengaturan secara terprogram ke properti pada formulir dan kontrol.
Baca juga
- ApplicationSettingsBase
- SettingsProvider
- LocalFileSettingsProvider
- IPersistComponentSettings
- Cara: Memvalidasi Pengaturan Aplikasi
- Mengelola Pengaturan Aplikasi (.NET)
- Cara: Membaca Pengaturan pada Run Time Dengan C#
- Menggunakan Pengaturan Aplikasi dan Pengaturan Pengguna
- Arsitektur pengaturan aplikasi
- Pengaturan Aplikasi untuk Kontrol Kustom
.NET Desktop feedback