Elemento <xmlSerializer>

Specifica se effettuare un controllo aggiuntivo dello stato di avanzamento di XmlSerializer.

<configurazione>
<system.xml.serialization>

Sintassi

<xmlSerializer checkDeserializerAdvance = "true|false" />  

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
checkDeserializeAdvances Specifica se controllare lo stato di avanzamento di XmlSerializer. Impostare l'attributo su "true" o "false". Il valore predefinito è "true".
useLegacySerializationGeneration Specifica se XmlSerializer usa la generazione legacy di serializzazione che genera assembly scrivendo un codice C# in un file e quindi compilandola in un assembly. Il valore predefinito è false.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione
<Elementosystem.xml.serializzazione> Contiene le impostazioni di configurazione per le classi XmlSerializer e XmlSchemaImporter.

Commenti

Per impostazione predefinita, XmlSerializer fornisce un livello aggiuntivo di sicurezza contro potenziali attacchi di tipo Denial of Service durante la deserializzazione di dati non attendibili. Per ottenere questo risultato, tenta di rilevare cicli infiniti durante la deserializzazione. Se tale condizione viene rilevata, viene generata un'eccezione con un messaggio che comunica che a causa di un errore interno la deserializzazione non può passare al flusso sottostante.

Se si riceve questo messaggio, non significa che è necessariamente in corso un attacco di tipo Denial of Service. In rare circostanze, il meccanismo di rilevamento di ciclo infinito produce un falso positivo e l'eccezione viene generata pur trattandosi di un un messaggio in arrivo valido. Nel caso in cui i messaggi validi della propria applicazione vengano rifiutati da tale livello aggiuntivo di protezione, impostare l'attributo checkDeserializeAdvances su "false".

Esempio

L'esempio seguente imposta l'attributo checkDeserializeAdvances su "false".

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

Vedi anche