ObjectStateFormatter.Deserialize 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
직렬화된 형식에서 개체 상태 그래프를 역직렬화합니다.
오버로드
Deserialize(Stream) |
지정한 Stream 개체에 들어 있는 이진으로 직렬화된 형식에서 개체 상태 그래프를 역직렬화합니다. |
Deserialize(String) |
직렬화된 Base64 인코딩된 문자열 형식에서 개체 상태 그래프를 역직렬화합니다. |
설명
중요
신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.
Deserialize(Stream)
지정한 Stream 개체에 들어 있는 이진으로 직렬화된 형식에서 개체 상태 그래프를 역직렬화합니다.
public:
System::Object ^ Deserialize(System::IO::Stream ^ inputStream);
public object Deserialize (System.IO.Stream inputStream);
member this.Deserialize : System.IO.Stream -> obj
Public Function Deserialize (inputStream As Stream) As Object
매개 변수
- inputStream
- Stream
Stream에서 초기화된 object
로 역직렬화하는 ObjectStateFormatter입니다.
반환
역직렬화된 개체 상태 그래프를 나타내는 개체입니다.
예외
지정된 inputStream
는 null
입니다.
Stream을 역직렬화하는 동안 예외가 발생하는 경우. 예외 메시지는 ArgumentException의 메시지에 추가됩니다.
예제
다음 코드 예제는 클래스에서 파생 되는 방법을 보여 줍니다.는 PageStatePersister 초기화 클래스는 ViewState 컬렉션입니다. 이 예제에서는 합니다 ViewState 컬렉션에 할당 된를 First 필드를 Pair 개체를 사용 하 여 파일 serialize를 ObjectStateFormatter 클래스입니다. 경우는 Load 메서드가 호출 되는 Deserialize(Stream) 메서드 파일에서 뷰 상태를 역직렬화하는 데 사용 됩니다 및 ViewState 속성이 초기화 됩니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 PageStatePersister 클래스입니다.
//
// Load ViewState and ControlState.
//
public override void Load()
{
Stream stateStream = GetSecureStream();
// Read the state string, using the StateFormatter.
StreamReader reader = new StreamReader(stateStream);
IStateFormatter formatter = this.StateFormatter;
string fileContents = reader.ReadToEnd();
// Deserilize returns the Pair object that is serialized in
// the Save method.
Pair statePair = (Pair)formatter.Deserialize(fileContents);
ViewState = statePair.First;
ControlState = statePair.Second;
reader.Close();
stateStream.Close();
}
'
' Load ViewState and ControlState.
'
Public Overrides Sub Load()
Dim stateStream As Stream
stateStream = GetSecureStream()
' Read the state string, using the StateFormatter.
Dim reader As New StreamReader(stateStream)
Dim serializedStatePair As String
serializedStatePair = reader.ReadToEnd
Dim statePair As Pair
Dim formatter As IStateFormatter
formatter = Me.StateFormatter
' Deserilize returns the Pair object that is serialized in
' the Save method.
statePair = CType(formatter.Deserialize(serializedStatePair), Pair)
ViewState = statePair.First
ControlState = statePair.Second
reader.Close()
stateStream.Close()
End Sub
설명
사용 하 여 직렬화되는 모든 개체 상태 그래프를 Serialize 메서드를 사용 하 여 역직렬화할 수는 Deserialize 메서드. 합니다 Deserialize(Stream) 메서드 복원에 저장 된 개체 상태 그래프를 사용 하는 Stream와 같은 FileStream입니다.
중요
신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.
적용 대상
Deserialize(String)
직렬화된 Base64 인코딩된 문자열 형식에서 개체 상태 그래프를 역직렬화합니다.
public:
System::Object ^ Deserialize(System::String ^ inputString);
public object Deserialize (string inputString);
member this.Deserialize : string -> obj
Public Function Deserialize (inputString As String) As Object
매개 변수
- inputString
- String
ObjectStateFormatter에서 초기화된 개체로 역직렬화하는 문자열입니다.
반환
역직렬화된 개체 상태 그래프를 나타내는 개체입니다.
예외
지정한 inputString
이 null
이거나 Length가 0인 경우
serialize된 데이터가 유효하지 않은 경우
뷰 상태를 역직렬화할 때 수행된 MAC(컴퓨터 인증 코드) 유효성 검사가 실패한 경우
예제
다음 코드 예제에는 base64로 인코딩된 문자열을 역직렬화하 고 반환 하는 메서드를 구현 하는 방법을 보여 줍니다.는 ICollection 속성 설정의 컬렉션입니다. 이 코드 예제에서는 serialize 된 속성 설정을 사용 합니다 ObjectStateFormatter 에 표시 된 대로 클래스는 Serialize(Object) 메서드.
private ICollection LoadControlProperties (string serializedProperties) {
ICollection controlProperties = null;
// Create an ObjectStateFormatter to deserialize the properties.
ObjectStateFormatter formatter = new ObjectStateFormatter();
// Call the Deserialize method.
controlProperties = (ArrayList) formatter.Deserialize(serializedProperties);
return controlProperties;
}
Private Function LoadControlProperties(serializedProperties As String) As ICollection
Dim controlProperties As ICollection = Nothing
' Create an ObjectStateFormatter to deserialize the properties.
Dim formatter As New ObjectStateFormatter()
' Call the Deserialize method.
controlProperties = CType(formatter.Deserialize(serializedProperties), ArrayList)
Return controlProperties
End Function 'LoadControlProperties
설명
사용 하 여 직렬화되는 모든 개체 상태 그래프를 Serialize 메서드를 사용 하 여 역직렬화할 수는 Deserialize 메서드. Deserialize(String) 메서드 복원 base64로 인코딩된 문자열 형식으로 저장 하는 개체 상태 그래프를 사용 합니다.
중요
신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.
적용 대상
.NET