DataContractSerializer.MaxItemsInObjectGraph Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan jumlah maksimum item dalam grafik objek untuk diserialisasikan atau deserialisasi.
public:
property int MaxItemsInObjectGraph { int get(); };
public int MaxItemsInObjectGraph { get; }
member this.MaxItemsInObjectGraph : int
Public ReadOnly Property MaxItemsInObjectGraph As Integer
Nilai Properti
Jumlah maksimum item yang akan diserialisasikan atau dideserialisasi. Defaultnya adalah Int32.MaxValue.
Pengecualian
Jumlah item melebihi nilai maksimum.
Keterangan
Properti ini dapat diatur dalam konfigurasi atau secara imperatif dalam kode. Untuk mengaturnya dalam konfigurasi, tambahkan perilaku kustom ke bagian perilaku dan tambahkan pengaturan berikut.
<behaviors> <behavior name="MyServiceBehavior"> <dataContractSerializer maxItemsInObjectGraph="3" /> </behavior></behaviors>
Untuk mengatur properti ini secara imperatif dalam kode, temukan deskripsi operasi layanan, lalu dapatkan perilaku operasi, akhirnya atur properti seperti yang ditunjukkan dalam kode berikut.
OperationDescription operation = host.Description.Endpoints[0].Contract.Operations.Find("MyOperationName");operation.Behaviors.Find<DataContractSerializerOperationBehavior>().MaxItemsInObjectGraph = 3;
Properti MaxItemsInObjectGraph menentukan jumlah maksimum objek yang diserialisasikan atau dideserialisasi oleh serializer dalam satu ReadObject panggilan metode. (Metode selalu membaca satu objek akar, tetapi objek ini mungkin memiliki objek lain dalam anggota datanya. Objek tersebut mungkin memiliki objek lain, dan sebagainya.) Defaultnya adalah MaxValue. Perhatikan bahwa saat membuat serial atau mendeserialisasi array, setiap entri array dihitung sebagai objek terpisah. Selain itu, perhatikan bahwa beberapa objek mungkin memiliki representasi memori yang besar sehingga kuota ini saja mungkin tidak cukup untuk mencegah penolakan serangan Layanan. Untuk informasi selengkapnya, lihat Pertimbangan Keamanan untuk Data. Jika Anda perlu meningkatkan kuota ini di luar nilai defaultnya, penting untuk melakukannya baik pada sisi pengiriman (serialisasi) maupun penerimaan (deserialisasi). Ini berlaku baik saat membaca dan menulis data.