다음을 통해 공유


BinaryFormatter.Deserialize 메서드

정의

스트림을 개체 그래프로 역직렬화합니다.

오버로드

Deserialize(Stream)
사용되지 않음.

지정된 스트림을 개체 그래프로 역직렬화합니다.

Deserialize(Stream, HeaderHandler)

지정된 스트림을 개체 그래프로 역직렬화합니다. 이렇게 되면 제공된 HeaderHandler가 해당 스트림의 모든 헤더를 처리합니다.

설명

중요

신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.

Deserialize(Stream)

Source:
BinaryFormatter.Core.cs
Source:
BinaryFormatter.Core.cs
Source:
BinaryFormatter.Core.cs

주의

BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.

지정된 스트림을 개체 그래프로 역직렬화합니다.

public:
 virtual System::Object ^ Deserialize(System::IO::Stream ^ serializationStream);
[System.Obsolete("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public object Deserialize (System.IO.Stream serializationStream);
public object Deserialize (System.IO.Stream serializationStream);
[<System.Obsolete("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
abstract member Deserialize : System.IO.Stream -> obj
override this.Deserialize : System.IO.Stream -> obj
abstract member Deserialize : System.IO.Stream -> obj
override this.Deserialize : System.IO.Stream -> obj
Public Function Deserialize (serializationStream As Stream) As Object

매개 변수

serializationStream
Stream

개체 그래프를 역직렬화할 스트림입니다.

반환

개체 그래프의 최상위(루트) 개체입니다.

구현

특성

예외

serializationStreamnull인 경우

serializationStream이 검색을 지원하지만 길이가 0입니다.

또는

입력 스트림이 BinaryFormatter로 직렬화된 올바른 형식의 페이로드를 나타내지 않습니다.

또는

입력 스트림에서 개체를 역직렬화하는 동안 오류가 발생했습니다.

InnerException 속성에는 근본 원인에 대한 자세한 내용이 포함될 수 있습니다.

호출자에게 필요한 권한이 없는 경우

ASP.NET Core 5 이상: 프로젝트 파일에서 기능을 다시 사용하도록 설정하지 않으면 BinaryFormatter 항상 throw됩니다. 자세한 내용은 Resolving BinaryFormatter obsoletion and disablement errors(BinaryFormatter 사용 중지 및 비활성화 오류 해결)를 참조하세요.

설명

경고

BinaryFormatter는 안전하지 않으며 안전하게 할 수 없습니다. 자세한 내용은 BinaryFormatter 보안 가이드를 참조하세요.

성공적으로 역직렬화 스트림 내의 현재 위치 개체 그래프의 시작 부분에 있어야 합니다.

중요

신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.

적용 대상

Deserialize(Stream, HeaderHandler)

지정된 스트림을 개체 그래프로 역직렬화합니다. 이렇게 되면 제공된 HeaderHandler가 해당 스트림의 모든 헤더를 처리합니다.

public:
 virtual System::Object ^ Deserialize(System::IO::Stream ^ serializationStream, System::Runtime::Remoting::Messaging::HeaderHandler ^ handler);
public object Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler);
abstract member Deserialize : System.IO.Stream * System.Runtime.Remoting.Messaging.HeaderHandler -> obj
override this.Deserialize : System.IO.Stream * System.Runtime.Remoting.Messaging.HeaderHandler -> obj
Public Function Deserialize (serializationStream As Stream, handler As HeaderHandler) As Object

매개 변수

serializationStream
Stream

개체 그래프를 역직렬화할 스트림입니다.

handler
HeaderHandler

serializationStream의 모든 헤더를 처리하는 HeaderHandler입니다. null일 수 있습니다.

반환

역직렬화된 개체나 해당 개체 그래프의 최상위 개체(루트)입니다.

구현

예외

serializationStreamnull인 경우

serializationStream이 검색을 지원하지만 길이가 0입니다.

또는

대상 형식은 Decimal이지만 값은 Decimal 형식의 범위를 벗어납니다.

호출자에게 필요한 권한이 없는 경우

설명

경고

BinaryFormatter는 안전하지 않으며 안전하게 할 수 없습니다. 자세한 내용은 BinaryFormatter 보안 가이드를 참조하세요.

헤더는 특정 원격 애플리케이션에만 사용 됩니다.

역직렬화가 성공하려면 스트림의 현재 위치가 개체 그래프의 시작 부분에 있어야 합니다.

중요

신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.

적용 대상