Bagikan melalui


SerializationFormat.Binary sudah usang

SerializationFormat.Binary sudah kedaluwarsa untuk DataTable dan DataSet. Serialisasi biner bergantung pada BinaryFormatter, yang tidak aman. Jika Anda menggunakan SerializationFormat.Binary dalam kode Anda, peringatan keusangan SYSLIB0038 akan dibuat pada waktu kompilasi.

Selain itu, InvalidEnumArgumentException ditampilkan saat durasi jika Anda:

Perilaku sebelumnya

Sebelumnya, DataTable dan DataSet dapat deserialisasi dan dideserialisasi dengan properti RemotingFormat yang diatur ke SerializationFormat.Binary, yang menggunakan BinaryFormatter secara langusung.

Perilaku yang baru

Mulai dari .NET 7, jika Anda mencoba melakukan serialisasi atau mendeserialisasi DataTable dan DataSet dengan properti RemotingFormat keduanya diatur ke SerializationFormat.Binary, InvalidEnumArgumentException akan ditampilkan.

Versi yang diperkenalkan

.NET 7

Jenis perubahan yang melanggar

Perubahan ini dapat memengaruhi kompatibilitas sumber dan kompatibilitas biner.

Alasan untuk berubah

SerializationFormat.Binary diterapkan melalui BinaryFormatter, yang tidak aman dan sudah kedaluwarsa di seluruh tumpukan .NET.

Jika kode Anda menggunakan SerializationFormat.Binary, alihkan ke SerializationFormat.Xml atau gunakan metode serialisasi lain.

Jika tidak, Anda dapat mengatur sakelar Switch.System.Data.AllowUnsafeSerializationFormatBinary AppContext . Sakelar ini memungkinkan Anda menerima untuk mengizinkan penggunaan SerializationFormat.Binary, sehingga kode dapat berfungsi seperti sebelumnya. Namun, sakelar ini akan dihapus di .NET 8. Untuk informasi tentang mengatur sakelar, lihat AppContext untuk konsumen pustaka.

API yang Terpengaruh

Lihat juga