Saya sedang mengembangkan aplikasi desktop, dan aplikasi ini membutuhkan beberapa informasi untuk dijalankan, tetapi itu tidak mengubah informasi ini (data harus dimuat pada setiap eksekusi aplikasi, tetapi datanya tidak pernah berubah). Data harus disimpan di komputer yang sama dengan saat aplikasi berjalan (penyimpanan sisi klien?).
Juga lebih baik jika pengguna tidak dapat dengan mudah mengubah informasi ini (anggap bahwa mereka tidak memiliki banyak pengetahuan IT).
Bagaimana saya harus menyimpan informasi semacam ini? Database lokal? XML yang dikirim bersama aplikasi?
Saya menggunakan WPF.
Jawaban:
File biner akan menjadi jawaban yang jelas, tetapi itu tergantung pada bagaimana Anda memuatnya - Anda mungkin bisa membuat hidup Anda lebih mudah jika Anda bisa.
XML mungkin merupakan pilihan yang baik karena ada metode bawaan di C # untuk membaca ini. Anda bisa menambahkan checksum ke data Anda, sehingga jika pengguna mengubahnya, checksum tidak akan cocok lagi (Anda perlu menambahkan cek untuk memastikan checksum itu valid)
Sebuah db lokal mungkin menciptakan lebih banyak masalah karena Anda memiliki dependensi lain yang Anda perlukan untuk dapat mengaksesnya
sumber
Jika data tidak pernah berubah dan hanya dibaca , maka masukkan saja ke dalam file kode sebagai daftar konstanta.
Jika data ini berbeda per penyebaran, maka file eksternal baik-baik saja.
.Net hadir dengan file .config bawaan (App.Config). Orang harus menggunakan itu karena ada cara standar (dibangun ke kerangka kerja) untuk membaca informasi dari mereka.
Gunakan file konfigurasi jika pengaturan perlu diubah (tidak pernah mengatakan tidak) karena hanya file teks (Xml). Jika ada informasi sensitif, seseorang dapat mengenkripsi pengaturan jika diperlukan.
sumber
Anda selalu dapat menambahkan file ke dalam proyek Anda dan mengatur tipe build-nya
Embedded Resource
sehingga tertanam langsung ke dalam aplikasi itu sendiri.Atau file yang dienkripsi dan ditempatkan di lokasi yang dapat diakses.
sumber
Jika Anda tidak ingin pengguna bahkan mengintip data, Anda harus membuat cerita bersambung menjadi file data biner.
Hanya aplikasi yang akan mengetahui panjang bilah untuk dibaca.
Saya tidak tahu C # tetapi di Jawa Anda akan membuat file seperti ini:
... dan mereka membacanya seperti ini:
sumber