Paling sederhana, app.config adalah file XML dengan banyak bagian konfigurasi yang tersedia dan dukungan untuk bagian konfigurasi khusus. "Bagian konfigurasi" adalah potongan XML dengan skema yang dimaksudkan untuk menyimpan beberapa jenis informasi.
Pengaturan dapat dikonfigurasi menggunakan bagian konfigurasi bawaan seperti connectionStrings
atau appSettings
. Anda dapat menambahkan bagian konfigurasi khusus Anda sendiri; ini adalah topik lanjutan, tetapi sangat kuat untuk membangun file konfigurasi yang sangat diketik.
Aplikasi web biasanya memiliki web.config, sedangkan Windows GUI / aplikasi layanan memiliki file app.config.
File konfigurasi tingkat aplikasi mewarisi pengaturan dari file konfigurasi global, mis. Machine.config.
Membaca dari App.Config
String koneksi memiliki skema yang telah ditentukan yang dapat Anda gunakan. Perhatikan bahwa cuplikan kecil ini sebenarnya file app.config (atau web.config) yang valid:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MyKey"
connectionString="Data Source=localhost;Initial Catalog=ABC;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Setelah mendefinisikan app.config, Anda dapat membacanya dalam kode menggunakan kelas ConfigurationManager . Jangan terintimidasi oleh contoh-contoh MSDN verbose; sebenarnya cukup sederhana.
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
Menulis ke App.Config
Sering mengubah file * .config biasanya bukan ide yang baik, tetapi sepertinya Anda hanya ingin melakukan pengaturan satu kali.
Lihat: Ubah string koneksi & muat ulang app.config pada saat run time yang menjelaskan cara memperbarui connectionStrings
bagian file * .config saat runtime.
Perhatikan bahwa idealnya Anda akan melakukan perubahan konfigurasi seperti itu dari penginstal sederhana.
Lokasi App.Config di Runtime
T : Misalkan saya secara manual mengubah beberapa <value>
di app.config, simpan dan tutup. Sekarang ketika saya pergi ke folder bin saya dan meluncurkan file .exe dari sini, mengapa itu tidak mencerminkan perubahan yang diterapkan?
A : Ketika Anda mengompilasi aplikasi, app.config-nya disalin ke direktori bin 1 dengan nama yang cocok dengan exe Anda. Misalnya, jika exe Anda bernama "test.exe", harus ada "text.exe.config" di direktori bin Anda. Anda dapat mengubah konfigurasi tanpa kompilasi ulang, tetapi Anda harus mengedit file konfigurasi yang dibuat pada waktu kompilasi, bukan app.config yang asli.
1: Perhatikan bahwa file web.config tidak dipindahkan, tetapi tetap berada di lokasi yang sama pada waktu kompilasi dan penyebaran. Satu pengecualian untuk ini adalah ketika web.config diubah .
.NET Core
Opsi konfigurasi baru diperkenalkan dengan .NET Core. Cara file * .config berfungsi tampaknya tidak berubah, tetapi pengembang bebas memilih paradigma konfigurasi baru yang lebih fleksibel.