Bagikan melalui


Serialisasi (Visual Basic)

Serialisasi yaitu proses mengonversi objek menjadi aliran byte untuk menyimpan objek atau mengirimkannya ke memori, database, atau file. Tujuan utamanya adalah untuk menyimpan status objek agar dapat membuatnya kembali saat diperlukan. Proses kebalikanya disebut deserialisasi.

Cara kerja serialisasi

Ilustrasi ini menunjukkan proses serialisasi secara keseluruhan.

Serialization graphic

Objek diserialisasikan ke aliran, yang tidak hanya membawa data, tetapi informasi tentang jenis objek, seperti versi, budaya, dan nama perakitannya. Dari aliran tersebut, objek dapat disimpan dalam database, file, atau memori.

Penggunaan untuk serialisasi

Serialisasi memungkinkan pengembang untuk menyimpan status objek dan membuatnya kembali sesuai kebutuhan, menyediakan penyimpanan objek maupun pertukaran data. Melalui serialisasi, pengembang dapat melakukan tindakan seperti mengirim objek ke aplikasi jarak jauh melalui Layanan Web, meneruskan objek dari satu domain ke domain lain, meneruskan objek melalui firewall sebagai string XML, atau mempertahankan keamanan atau informasi khusus pengguna di seluruh aplikasi.

Membuat objek dapat diserialisasikan

Untuk membuat serial objek, Anda memerlukan objek untuk diserialisasikan, aliran untuk berisi objek berseri, dan Formatter. System.Runtime.Serialization berisi kelas yang diperlukan untuk membuat serialisasi dan deserialisasi objek.

Terapkan atribut SerializableAttribute ke jenis untuk menunjukkan bahwa instans jenis tersebut dapat diserialisasikan. Pengecualian SerializationException dilemparkan jika Anda mencoba menserialisasikan tetapi jenisnya tidak memiliki atribut SerializableAttribute.

Jika Anda tidak ingin bidang dalam kelas Anda dapat diserialisasikan, terapkan atribut NonSerializedAttribute. Jika bidang jenis yang dapat diserialisasikan berisi pointer, handel, atau struktur data lain yang khusus untuk lingkungan tertentu, dan bidang tidak dapat disusun ulang secara bermakna di lingkungan yang berbeda, maka Anda mungkin ingin membuatnya tidak dapat diserialisasi.

Jika kelas serialisasi berisi referensi ke objek kelas lain yang ditandai SerializableAttribute, objek tersebut juga akan diserialisasikan.

Serialisasi Biner dan XML

Serialisasi biner atau XML dapat digunakan. Dalam serialisasi biner, semua anggota, bahkan anggota yang bersifat baca-saja, diserialisasikan, dan performa ditingkatkan. Serialisasi XML menyediakan kode yang lebih mudah dibaca, serta fleksibilitas berbagi objek dan penggunaan yang lebih besar untuk tujuan interoperabilitas.

Serialisasi Biner

Serialisasi biner menggunakan pengodean biner untuk menghasilkan serialisasi ringkas untuk penggunaan seperti penyimpanan atau aliran jaringan berbasis soket.

Serialisasi XML

Serialisasi XML menserialisasikan bidang publik dan properti objek, atau parameter dan mengembalikan nilai metode, ke dalam aliran XML yang sesuai dengan dokumen bahasa definisi Skema XML (XSD) tertentu. Serialisasi XML menghasilkan kelas yang diketik dengan kuat dengan properti publik dan bidang yang dikonversi ke XML. System.Xml.Serialization berisi kelas yang diperlukan untuk membuat serialisasi dan deserialisasi objek.

Anda dapat menerapkan atribut ke kelas dan anggota kelas untuk mengontrol cara serialisasi XmlSerializer atau deserialisasi instans kelas itu.

Serialisasi Dasar dan Kustom

Serialisasi Biner dan XML dapat dilakukan dengan dua cara, dasar dan kustom. Serialisasi dasar menggunakan .NET untuk membuat serialisasi objek secara otomatis.

Serialisasi Dasar

Satu-satunya persyaratan dalam serialisasi dasar adalah bahwa objek memiliki atribut SerializableAttributeyang diterapkan. NonSerializedAttribute dapat digunakan untuk menjaga agar bidang tertentu tidak diserialisasikan.

Saat Anda menggunakan serialisasi dasar, penerapan versi objek dapat membuat masalah, dalam hal ini serialisasi kustom mungkin lebih disukai. Serialisasi dasar adalah cara termudah untuk melakukan serialisasi, tetapi tidak memberikan banyak kontrol atas proses.

Serialisasi Kustom

Dalam serialisasi kustom, Anda dapat menentukan dengan tepat objek mana yang akan diserialisasikan dan bagaimana hal itu akan dilakukan. Kelas harus ditandai SerializableAttribute dan mengimplementasikan antarmuka ISerializable.

Jika Anda ingin objek Anda dideserialisasi dengan cara kustom juga, gunakan konstruktor kustom.

Serialisasi perancang

Serialisasi perancang adalah bentuk serialisasi khusus yang melibatkan jenis persistensi objek yang terkait dengan alat pengembangan. Serialisasi perancang adalah proses mengonversi grafik objek menjadi file sumber yang nantinya dapat digunakan untuk memulihkan grafik objek. File sumber dapat berisi kode, markup, atau bahkan infromasi tabel SQL.

Topik dan Contoh Terkait

Panduan: Mempertahankan Objek di Visual Studio (Visual Basic)
Menunjukkan bagaimana serialisasi dapat digunakan untuk mempertahankan data objek antar instans, memungkinkan Anda menyimpan nilai dan mengambilnya saat objek itu dibuat.

Cara: Membaca Data Objek dari file XML (Visual Basic)
Memperlihatkan cara membaca data objek yang sebelumnya ditulis ke file XML menggunakan kelas XmlSerializer.

Cara: Menulis Data Objek ke file XML (Visual Basic)
Menunjukkan cara menulis objek dari kelas ke file XML menggunakan kelas XmlSerializer.