Compartilhar via


<xmlSerializer> Elemento

Especifica se uma verificação adicional do progresso foi XmlSerializer feita.

<configuration> <system.xml.serialization>

Sintaxe

<xmlSerializer checkDeserializerAdvance = "true|false" />

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Attributes

Attribute Description
checkDeserializeAdvances Especifica se o progresso do XmlSerializer é verificado. Defina o atributo como "true" ou "false". O padrão é "true".
useLegacySerializationGeneration Especifica se a XmlSerializer geração de serialização herdada que gera assemblies gravando código C# em um arquivo e compilando-o em um assembly. O padrão é false.

Elementos filho

Nenhum.

Elementos pai

Elemento Description
< elemento .serialization>system.xml Contém as configurações para as classes e XmlSchemaImporter as XmlSerializer classes.

Observações

Por padrão, fornece XmlSerializer uma camada adicional de segurança contra possíveis ataques de negação de serviço ao desserializar dados não confiáveis. Ele faz isso tentando detectar loops infinitos durante a desserialização. Se essa condição for detectada, uma exceção será gerada com a seguinte mensagem: "Erro interno: falha na desserialização ao avançar sobre o fluxo subjacente".

Receber essa mensagem não indica necessariamente que um ataque de negação de serviço está em andamento. Em algumas circunstâncias raras, o mecanismo de detecção de loop infinito produz um falso positivo e a exceção é gerada para uma mensagem de entrada legítima. Se você descobrir que em seu aplicativo específico mensagens legítimas estão sendo rejeitadas por essa camada extra de proteção, defina o atributo checkDeserializeAdvances como "false".

Example

O exemplo de código a seguir define o atributo checkDeserializeAdvances como "false".

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

Consulte também