規定是否進行額外的進度 XmlSerializer 檢查。
<configuration>
<system.xml.serialization>
語法
<xmlSerializer checkDeserializerAdvance = "true|false" />
屬性和項目
下列章節說明屬性、子元素和父元素。
Attributes
| Attribute | Description |
|---|---|
| checkDeserializeAdvances | 說明是否檢查進度 XmlSerializer 。 將屬性設定為「true」或「false」。 預設值是「true」。 |
| useLegacySerializationGeneration(傳統序列化生成) | 規定是否 XmlSerializer 使用舊有序列化產生,該產生方法是將 C# 程式碼寫入檔案,再編譯成組合語言。 預設值為 false 。 |
子元素
沒有。
父項目
| 元素 | Description |
|---|---|
| <system.xml.serialization> 元素 | 包含 和 XmlSchemaImporter 類別的設定XmlSerializer設定。 |
備註
預設情況下,當解序列化不受信任的資料時,會 XmlSerializer 提供額外的防範潛在阻斷服務攻擊的安全層。 它透過嘗試在反序列化過程中偵測無限迴圈來達成此目的。 若偵測到此類狀況,會拋出異常並顯示以下訊息:「內部錯誤:反序列化未能超越底層串流。」
收到此訊息並不一定表示阻斷服務攻擊正在進行中。 在某些罕見情況下,無限迴圈偵測機制會產生誤報,並對合法的進訊拋出異常。 如果你發現在你的應用程式中,合法訊息被這層額外保護拒絕,請將 checkDeserializeAdvances 屬性設為「false」。
Example
以下程式碼範例將 checkDeserializeAdvances 屬性設為「false」。
<configuration>
<system.xml.serialization>
<xmlSerializer checkDeserializeAdvances="false" />
</system.xml.serialization>
</configuration>