<xmlSerializer> 元素

指定是否对进度 XmlSerializer 进行额外的检查。

<configuration> <system.xml.serialization>

Syntax

<xmlSerializer checkDeserializerAdvance = "true|false" />

特性和元素

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

特性

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

子元素

没有。

父元素

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

注解

默认情况下,在反序列化不受信任的数据时, XmlSerializer 提供额外的安全层,防止潜在的拒绝服务攻击。 它通过尝试在反序列化期间检测无限循环来执行此作。 如果检测到此类条件,则会引发异常,并显示以下消息:“内部错误:反序列化无法通过基础流前进。

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

Example

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

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

另请参阅