<xmlSerializer> 요소<xmlSerializer> Element

XmlSerializer의 진행에 대한 추가 검사가 수행되었는지 여부를 지정합니다.Specifies whether an additional check of progress of the XmlSerializer is done.

<configuration>
<system.xml.serialization>

구문Syntax

<xmlSerializer checkDeserializerAdvance = "true|false" />  

특성 및 요소Attributes and Elements

다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.The following sections describe attributes, child elements, and parent elements.

특성Attributes

특성Attribute 설명Description
checkDeserializeAdvancescheckDeserializeAdvances XmlSerializer의 진행률이 검사되었는지 여부를 지정합니다.Specifies whether the progress of the XmlSerializer is checked. 특성을 "true" 또는 "false"로 설정합니다.Set the attribute to "true" or "false". 기본값은 "true"입니다.The default is "true".
useLegacySerializationGenerationuseLegacySerializationGeneration XmlSerializer가 C# 코드를 파일에 쓴 다음 어셈블리로 컴파일하여 어셈블리를 생성하는 레거시 serialization 생성을 사용하는지 여부를 지정합니다.Specifies whether the XmlSerializer uses legacy serialization generation which generates assemblies by writing C# code to a file and then compiling it to an assembly. 기본값은 false입니다.The default is false.

자식 요소Child Elements

없음None.

부모 요소Parent Elements

요소Element 설명Description
<system.xml.serialization> 요소<system.xml.serialization> Element XmlSerializerXmlSchemaImporter 클래스에 대한 구성 설정을 포함합니다.Contains configuration settings for the XmlSerializer and XmlSchemaImporter classes.

설명Remarks

기본적으로 XmlSerializer는 신뢰할 수 없는 데이터를 역직렬화할 때 잠재적 서비스 거부 공격에 대한 추가 보안 계층을 제공합니다.By default, the XmlSerializer provides an additional layer of security against potential denial of service attacks when deserializing untrusted data. deserialization 도중 무한 루프의 탐지를 시도하여 이러한 보안을 제공합니다.It does so by attempting to detect infinite loops during deserialization. 이러한 조건이 검색되면 다음과 같은 메시지와 함께 예외가 throw됩니다. "내부 오류: 기본 스트림에 대한 deserialization을 계속할 수 없습니다."If such a condition is detected, an exception is thrown with the following message: "Internal error: deserialization failed to advance over underlying stream."

이 메시지가 반드시 서비스 거부 공격이 진행 중임을 의미하는 것은 아닙니다.Receiving this message does not necessarily indicate that a denial of service attack is in progress. 드문 경우지만 무한 루프 검색 메커니즘이 가양성(false positive)을 생성하여 적법한 들어오는 메시지에 대해 예외가 throw될 수도 있습니다.In some rare circumstances, the infinite loop detection mechanism produces a false positive and the exception is thrown for a legitimate incoming message. 특정 애플리케이션에서 적법한 메시지가 이러한 추가 보호 계층에 의해 거부된 경우 checkDeserializeAdvances 특성을 “false”로 설정합니다.If you find that in your particular application legitimate messages are being rejected by this extra layer of protection, set checkDeserializeAdvances attribute to "false".

예제Example

다음 코드 예제에서는 checkDeserializeAdvances 특성을 “false”로 설정합니다.The following code example sets the checkDeserializeAdvances attribute to "false".

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

참조See also