Share via


DataContractSerializer.MaxItemsInObjectGraph Properti

Definisi

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.

Berlaku untuk