ObjectStateFormatter.Deserialize Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Deserialiserar ett objekttillståndsdiagram från serialiserat formulär.
Överlagringar
| Name | Description |
|---|---|
| Deserialize(Stream) |
Deserialiserar ett objekttillståndsdiagram från dess binär-serialiserade form som finns i det angivna Stream objektet. |
| Deserialize(String) |
Deserialiserar ett objekttillståndsdiagram från dess serialiserade base64-kodade strängformulär. |
Kommentarer
Important
Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.
Deserialize(Stream)
Deserialiserar ett objekttillståndsdiagram från dess binär-serialiserade form som finns i det angivna Stream objektet.
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
Parametrar
- inputStream
- Stream
A Stream som ObjectStateFormatter deserialiserar till en initierad object.
Returer
Ett objekt som representerar ett deserialiserat objekttillståndsdiagram.
Undantag
Den angivna inputStream är null.
Ett undantag inträffar under deserialiseringen av Stream. Undantagsmeddelandet läggs till i meddelandet för ArgumentException.
Exempel
Följande kodexempel visar hur en klass som härleds från PageStatePersister klassen initierar ViewState samlingen. I det här exemplet ViewState har samlingen tilldelats till First fältet för ett Pair objekt och serialiserats till en fil med hjälp av ObjectStateFormatter -klassen. Load När metoden anropas Deserialize(Stream) används metoden för att deserialisera visningstillståndet från filen och egenskapen ViewState initieras. Det här kodexemplet är en del av ett större exempel för PageStatePersister klassen.
//
// 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
Kommentarer
Alla objekttillståndsdiagram som serialiseras med Serialize metoden kan deserialiseras med Deserialize metoden. Metoden Deserialize(Stream) används för att återställa ett objekttillståndsdiagram som lagras i en Stream, till exempel en FileStream.
Important
Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.
Gäller för
Deserialize(String)
Deserialiserar ett objekttillståndsdiagram från dess serialiserade base64-kodade strängformulär.
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
Parametrar
- inputString
- String
En sträng som ObjectStateFormatter deserialiseras till ett initierat objekt.
Returer
Ett objekt som representerar ett deserialiserat objekttillståndsdiagram.
Undantag
Den angivna inputString är null eller har en Length på 0.
Serialiserade data är ogiltiga.
Verifieringskontrollen av datorns autentiseringskod (MAC) som utförs när visningstillståndet för deserialisering misslyckas.
Exempel
Följande kodexempel visar hur du implementerar en metod som deserialiserar en base64-kodad sträng och returnerar en ICollection samling egenskapsinställningar. Det här kodexemplet förlitar sig på att egenskapsinställningarna har serialiserats med ObjectStateFormatter klassen, enligt Serialize(Object) metoden.
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
Kommentarer
Alla objekttillståndsdiagram som serialiseras med Serialize metoden kan deserialiseras med Deserialize metoden. Metoden Deserialize(String) används för att återställa ett objekttillståndsdiagram som lagras i ett base64-kodat strängformulär.
Important
Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.