Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 16577|Jawab: 1

[ASP.NET] Status sesi tidak dapat diserialisasikan. Dalam mode "StateServer" atau "SQLServer"...

[Salin tautan]
Diposting pada 18/11/2017 21.37.45 | | | |
Status sesi tidak dapat diserialisasikan. Dalam mode "StateServer" atau "SQLServer", ASP.NET akan membuat serial objek status sesi, sehingga objek yang tidak dapat diserialkan atau objek MarshalByRef tidak diizinkan. Pembatasan yang sama berlaku jika penyimpanan status sesi kustom melakukan serialisasi serupa dalam mode "Kustom".        



Larutan:

Variabel tidak dapat diserialkan saat menetapkan Sesi, jadi coba tambahkan [Serializable] ke Kelas. Pemecahan masalah

[Dapat diserialisasi]
kelas umum MyClass
{
.......
}

Mari kita bicara tentang [Serializable], yang digunakan untuk memberi tahu kompiler bahwa kelas dapat diserialisasi

Serialisasi mengacu pada proses penyimpanan status instans objek ke media penyimpanan. Dalam proses ini, bidang publik dan privat objek dan nama kelas (termasuk rakitan tempat kelas berada) diubah menjadi bytestream sebelum menulis bytestream ke aliran data. Ketika objek kemudian dideserialisasi, salinan identik dari objek asli dibuat.
Saat menerapkan mekanisme serialisasi dalam lingkungan berorientasi objek, harus ada beberapa trade-off antara kemudahan penggunaan dan fleksibilitas. Selama Anda memiliki kendali yang cukup atas proses ini, Anda dapat membuatnya sebagian besar otomatis. Misalnya, serialisasi biner sederhana tidak cukup, atau ada kebutuhan untuk menentukan bidang mana dalam kelas yang perlu diserialisasikan karena alasan tertentu. Bagian berikut akan menjelajahi mekanisme serialisasi andal yang disediakan oleh kerangka kerja .NET dan menyoroti beberapa fitur penting yang memungkinkan Anda menyesuaikan proses serialisasi dengan kebutuhan Anda.





Mantan:ASP.NET StateServer yang menyimpan Sesi
Depan:SQLSERVER Cara Menyalin Satu Tabel untuk Tabel Lain
 Tuan tanah| Diposting pada 19/11/2017 16.19.48 |
Untuk beberapa objek yang mewarisi dari MarshalByRef, seperti objek DbTransation, objek tersebut tidak dapat diserialisasikan. Oleh karena itu, Anda tidak dapat menggunakan Sesi untuk menyimpan objek yang mewarisi jenis MarshalByRef.
Solusinya adalah menggunakan Cache dan SessionID untuk meniru Sesi. Kelas Cache dapat menyimpan semua jenis objek dalam cache.
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com