XmlReaderSettings Kelas
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.
public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
- Warisan
-
XmlReaderSettings
Contoh
Contoh berikut membuat XmlReader yang menggunakan kredensial yang XmlUrlResolver diperlukan.
// Create an XmlUrlResolver with the credentials necessary to access the Web server.
var resolver = new XmlUrlResolver();
var myCred = new NetworkCredential(UserName, SecurelyStoredPassword, Domain);
resolver.Credentials = myCred;
var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;
// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlUrlResolver with the credentials necessary to access the Web server.
Dim resolver As New XmlUrlResolver()
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
Dim settings As New XmlReaderSettings()
settings.XmlResolver = resolver
' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)
Keterangan
Anda menggunakan metode Create untuk mendapatkan instance XmlReader. Metode ini menggunakan XmlReaderSettings kelas untuk menentukan fitur mana yang akan diterapkan dalam objek yang XmlReader dibuatnya.
Lihat bagian Keterangan dari XmlReader halaman referensi dan Create untuk informasi tentang pengaturan mana yang akan digunakan untuk pemeriksaan kesamaan, validasi, dan skenario umum lainnya. Silakan lihat konstruktor dalam XmlReaderSettings() untuk daftar pengaturan default.
Pertimbangan keamanan
Pertimbangkan hal berikut saat menggunakan XmlReaderSettings kelas .
Bendera validasi ProcessInlineSchema dan ProcessSchemaLocation dari objek XmlReaderSettings tidak diatur secara default. Ketika parameter ini diatur, XmlResolver dari objek XmlReaderSettings digunakan untuk menentukan lokasi skema yang ditemukan dalam dokumen instance pada XmlReader. Jika objek XmlResolver adalah
null, lokasi skema tidak diselesaikan meskipun bendera validasi ProcessInlineSchema dan ProcessSchemaLocation diatur.Skema yang ditambahkan selama validasi menambahkan jenis baru dan dapat mengubah hasil validasi dokumen yang sedang divalidasi. Akibatnya, skema eksternal hanya boleh diselesaikan dari sumber tepercaya.
Pesan kesalahan validasi dapat mengekspos informasi model konten sensitif. Kesalahan validasi dan peringatan pesan ditangani dengan delegasi ValidationEventHandler, atau diekspos sebagai XmlSchemaValidationException jika tidak ada penanganan acara yang disediakan untuk objek XmlReaderSettings (peringatan validasi tidak menyebabkan XmlSchemaValidationException dilemparkan). Informasi model konten ini tidak boleh diekspos dalam skenario yang tidak tepercaya. Pesan peringatan validasi ditekan secara default dan dapat dilaporkan dengan mengatur ReportValidationWarnings bendera.
Properti SourceUri dari XmlSchemaValidationException mengembalikan jalur URI ke file skema yang menyebabkan pengecualian. Properti SourceUri tidak boleh diekspos dalam skenario yang tidak tepercaya.
Menonaktifkan flag ProcessIdentityConstraints (yang diaktifkan secara default) disarankan ketika memvalidasi dokumen XML besar yang tidak tepercaya dalam skenario ketersediaan tinggi dengan skema yang memiliki batasan identitas di sebagian besar dokumen tersebut.
XmlReaderSettings objek dapat berisi informasi sensitif seperti kredensial pengguna. Anda harus berhati-hati saat pengelolaan cache XmlReaderSettings objek, atau saat menyampaikan XmlReaderSettings objek dari satu komponen ke komponen lainnya.
Pemrosesan DTD dinonaktifkan secara default. Jika Anda mengaktifkan pemrosesan DTD, Anda perlu waspada terhadap penyertaan DTD dari sumber yang tidak tepercaya dan potensi serangan penolakan layanan. Gunakan ThrowingResolver untuk membatasi sumber daya yang XmlReader dapat diakses.
Jangan menerima komponen pendukung, seperti NameTable, XmlNamespaceManager, dan objek XmlResolver, dari sumber yang tidak tepercaya.
Penggunaan memori aplikasi yang menggunakan XmlReader mungkin memiliki korelasi dengan ukuran dokumen XML yang diurai. Salah satu bentuk penolakan serangan layanan adalah ketika dokumen XML yang terlalu besar dikirimkan untuk diurai. Anda dapat membatasi ukuran dokumen yang dapat diurai dengan mengatur MaxCharactersInDocument properti lalu membatasi jumlah karakter yang dihasilkan dari memperluas entitas dengan mengatur MaxCharactersFromEntities properti .
Konstruktor
| Nama | Deskripsi |
|---|---|
| XmlReaderSettings() |
Menginisialisasi instans baru dari kelas XmlReaderSettings. |
| XmlReaderSettings(XmlResolver) |
Kedaluwarsa.
Menginisialisasi instans baru dari kelas XmlReaderSettings. |
Properti
| Nama | Deskripsi |
|---|---|
| Async |
Mendapatkan atau mengatur apakah metode asinkron XmlReader dapat digunakan pada instans tertentu XmlReader . |
| CheckCharacters |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan melakukan pemeriksaan karakter. |
| CloseInput |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah aliran yang mendasar atau TextReader harus ditutup saat pembaca ditutup. |
| ConformanceLevel |
Mendapatkan atau mengatur tingkat kesuaian yang XmlReader akan mematuhinya. |
| DtdProcessing |
Mendapatkan atau menetapkan nilai yang menentukan pemrosesan DTD. |
| IgnoreComments |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengabaikan komentar. |
| IgnoreProcessingInstructions |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengabaikan instruksi pemrosesan. |
| IgnoreWhitespace |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengabaikan spasi kosong yang tidak signifikan. |
| LineNumberOffset |
Mendapatkan atau mengatur offset XmlReader nomor baris objek. |
| LinePositionOffset |
Mendapatkan atau mengatur offset XmlReader posisi garis objek. |
| MaxCharactersFromEntities |
Mendapatkan atau menetapkan nilai yang menunjukkan jumlah karakter maksimum yang diizinkan dalam dokumen yang dihasilkan dari memperluas entitas. |
| MaxCharactersInDocument |
Mendapatkan atau menetapkan nilai yang menunjukkan jumlah karakter maksimum yang diizinkan dalam dokumen XML. Nilai nol (0) berarti tidak ada batasan pada ukuran dokumen XML. Nilai bukan nol menentukan ukuran maksimum, dalam karakter. |
| NameTable |
Mendapatkan atau mengatur yang XmlNameTable digunakan untuk perbandingan string yang diatomisasi. |
| ProhibitDtd |
Kedaluwarsa.
Kedaluwarsa.
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan melarang pemrosesan definisi jenis dokumen (DTD). Properti ini sudah usang. Gunakan DtdProcessing sebagai gantinya. |
| Schemas |
Mendapatkan atau mengatur XmlSchemaSet untuk digunakan saat melakukan validasi skema. |
| ValidationFlags |
Mendapatkan atau menetapkan nilai yang menunjukkan pengaturan validasi skema. Pengaturan ini berlaku untuk XmlReader objek yang memvalidasi skema (ValidationType properti diatur ke |
| ValidationType |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah XmlReader akan melakukan validasi atau penetapan jenis saat membaca. |
| XmlResolver |
Mengatur yang XmlResolver digunakan untuk mengakses dokumen eksternal. |
Metode
| Nama | Deskripsi |
|---|---|
| Clone() |
Membuat salinan XmlReaderSettings instans. |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| Reset() |
Mereset anggota kelas pengaturan ke nilai defaultnya. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Acara
| Nama | Deskripsi |
|---|---|
| ValidationEventHandler |
Terjadi ketika pembaca mengalami kesalahan validasi. |