<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>