JSON.Net "Gelung Rujukan Kendiri Dikesan" Semasa Pensirilan Senarai
Apabila mensiri senarai objek menggunakan JSON.Net, satu " Pengecualian Gelung Rujukan Sendiri" mungkin berlaku. Ralat ini menunjukkan bahawa objek dalam senarai merujuk antara satu sama lain secara membulat, menyebabkan proses bersiri menjadi gelung selama-lamanya.
Dalam kod yang disediakan, ralat berlaku semasa mensiri senarai objek Laluan. Pengecualian menunjukkan bahawa terdapat gelung rujukan sendiri dalam objek, mungkin disebabkan oleh rujukan kepada objek lain dalam senarai yang sama.
Satu penyelesaian yang mungkin adalah mengabaikan gelung rujukan menggunakan "ReferenceLoopHanding.Ignore" tetapan dalam tetapan pensiri JSON. Walau bagaimanapun, pendekatan ini tidak menyelesaikan isu asas dan mungkin membawa kepada kehilangan data.
Untuk mengelakkan ralat dan memastikan penyirian yang betul, adalah disyorkan untuk melumpuhkan pemuatan malas dan penciptaan proksi dalam pembina kelas DbContext. Ini boleh dicapai dengan menambah baris berikut:
this.Configuration.LazyLoadingEnabled = false; this.Configuration.ProxyCreationEnabled = false;
Dengan melumpuhkan pemuatan malas dan penciptaan proksi, konteks data tidak akan memuatkan entiti terpaut secara automatik, yang menyelesaikan isu rujukan pekeliling. Ini membolehkan JSON.Net menyiri senarai objek Laluan tanpa menghadapi pengecualian gelung rujukan sendiri.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian 'Gelung Rujukan Kendiri Dikesan' JSON.Net Semasa Pensirian Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!