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로 인코딩된 문자열 형식으로 저장 하는 개체 상태 그래프를 사용 합니다.
중요
신뢰할 수 없는 데이터로 이 메서드를 호출하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 메서드를 호출하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.