<xmlSerializer> 元素

指定是否完成 XmlSerializer 进度的额外检查。

<configuration>
<system.xml.serialization>

语法

<xmlSerializer checkDeserializerAdvance = "true|false" />  

特性和元素

下列各节描述了特性、子元素和父元素。

特性

属性 描述
checkDeserializeAdvances 指定是否已检查 XmlSerializer 的进度。 将特性设置为“true”或“false”。 默认值为“true”。
useLegacySerializationGeneration 指定 XmlSerializer 是否使用旧的序列化生成,该方法通过将 C# 代码写入到一个文件,然后将其编译为程序集来生成程序集。 默认值为 false。

子元素

无。

父元素

元素 说明
<system.xml.serialization> 元素 包含 XmlSerializerXmlSchemaImporter 类的配置设置。

备注

默认情况下,当反序列化不受信任的数据时,XmlSerializer 会额外提供一层防范潜在拒绝服务攻击的安全保护。 它通过在反序列化期间尝试检测无限循环来实现以上保护。 若检测到此类情况,将引发异常,并出现以下消息:“内部错误: 反序列化无法越过基础流。”

接收到此消息并不一定表示正在发生拒绝服务攻击。 在某些极少出现的情况下,无限循环检测机制会产生误报,并对合法的传入消息引发异常。 如果发现在你的特定应用程序中,合法消息被这一额外的保护层拒绝,请将 checkDeserializeAdvances 属性设置为“false”。

示例

下面的代码示例将 checkDeserializeAdvances 属性设置为“false”。

<configuration>  
  <system.xml.serialization>  
    <xmlSerializer checkDeserializeAdvances="false" />  
  </system.xml.serialization>  
</configuration>  

请参阅