Udostępnij za pośrednictwem


<xmlSerializer> , element

Określa, czy dodatkowe wyboru postęp XmlSerializer jest wykonywane.

<Konfiguracji>
<System.XML.serialization>

Składnia

<xmlSerializer checkDeserializerAdvance = "true|false" />  

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Atrybut Opis
checkDeserializeAdvances Określa, czy postęp XmlSerializer jest zaznaczone. Atrybut "prawda" lub "false". Wartość domyślna to "true".
useLegacySerializationGeneration Określa, czy XmlSerializer używa Generowanie starszego serializacji, generująca zestawy zapis do PLiku kodu C# i zestawiania do zestawu. Wartość domyślna to false.

Elementy podrzędne

Brak.

Elementy nadrzędne

Element Opis
<system.xml.serialization> , element Zawiera ustawienia konfiguracji dla XmlSerializer i XmlSchemaImporter klasy.

Uwagi

Domyślnie XmlSerializer zapewnia dodatkową warstwę zabezpieczeń przed potencjalnym atakom typu odmowa usługi podczas deserializacji niezaufanych danych. Robi to za pomocą próby wykrycia podczas deserializacji w pętli nieskończonej. Jeśli taki warunek zostanie wykryty, zostanie zgłoszony wyjątek z następującym komunikatem: "Błąd wewnętrzny: deserializacja nie powiodła się, aby przejść do bazowego strumienia".

Odbieranie ten komunikat nie musi oznaczać, że typu "odmowa usługi" jest w toku. W niektórych sytuacjach szczególnych mechanizm wykrywania pętli nieskończonej tworzy fałszywego ostrzeżenia i wyjątku wiarygodnego wiadomości przychodzącej. Jeśli okaże się, że w konkretnej aplikacji uzasadnione komunikaty są odrzucane przez tę dodatkową warstwę ochrony, ustaw atrybut checkDeserializeAdvances na wartość "false".

Przykład

Poniższy przykład kodu ustawia atrybut checkDeserializeAdvances na wartość "false".

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

Zobacz też