Aracılığıyla paylaş


ObjectStateFormatter.Deserialize Yöntem

Tanım

Serileştirilmiş formdan nesne durumu grafiğini seri durumdan kaldırır.

Aşırı Yüklemeler

Deserialize(Stream)

Bir nesne durumu grafiğini, belirtilen Stream nesnede bulunan ikili serileştirilmiş biçiminden seri durumdan kaldırır.

Deserialize(String)

Serileştirilmiş base64 kodlamalı dize formundan nesne durumu grafiğini seri durumdan kaldırır.

Açıklamalar

Önemli

Bu yöntemi güvenilmeyen verilerle çağırmak bir güvenlik riskidir. Bu yöntemi yalnızca güvenilen verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Deserialize(Stream)

Bir nesne durumu grafiğini, belirtilen Stream nesnede bulunan ikili serileştirilmiş biçiminden seri durumdan kaldırır.

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

Parametreler

inputStream
Stream

Stream seri durumdan ObjectStateFormatter çıkararak başlatılan objectbir .

Döndürülenler

Seri durumdan çıkarılmış nesne durum grafiğini temsil eden nesne.

Özel durumlar

Belirtilen inputStream değeridir null.

seri durumdan çıkarma Streamsırasında bir özel durum oluşur. Özel durum iletisi iletisinin ArgumentExceptionsonuna eklenir.

Örnekler

Aşağıdaki kod örneği, sınıfından türetilen bir sınıfın PageStatePersister koleksiyonu nasıl başlatdığını ViewState gösterir. Bu örnekte, ViewState koleksiyon bir Pair nesnenin First alanına atanmış ve sınıfı kullanılarak ObjectStateFormatter bir dosyaya seri hale getirilmiştir. Load yöntemi çağrıldığında, Deserialize(Stream) dosyadan görünüm durumunu seri durumdan kaldırmak için yöntemi kullanılır ve ViewState özelliği başlatılır. Bu kod örneği, sınıfı için PageStatePersister sağlanan daha büyük bir örneğin parçasıdır.

//
// 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

Açıklamalar

yöntemiyle Serialize seri hale getirilen herhangi bir nesne durumu grafiği, yöntemiyle seri durumdan Deserialize çıkarılabilir. Deserialize(Stream) yöntemi, gibi FileStreambir içinde depolanan bir Streamnesne durumu grafiğini geri yüklemek için kullanılır.

Önemli

Bu yöntemi güvenilmeyen verilerle çağırmak bir güvenlik riskidir. Bu yöntemi yalnızca güvenilen verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Şunlara uygulanır

Deserialize(String)

Serileştirilmiş base64 kodlamalı dize formundan nesne durumu grafiğini seri durumdan kaldırı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

Parametreler

inputString
String

öğesinin ObjectStateFormatter başlatılan bir nesnede seri durumdan çıkarıldığı bir dize.

Döndürülenler

Seri durumdan çıkarılmış nesne durum grafiğini temsil eden nesne.

Özel durumlar

Belirtilen inputString veya Length değeri 0'dırnull.

Serileştirilmiş veriler geçersiz.

Görünüm durumu seri durumdan çıkarıldığında gerçekleştirilen makine kimlik doğrulama kodu (MAC) doğrulama denetimi.

Örnekler

Aşağıdaki kod örneği, base64 ile kodlanmış bir dizeyi seri durumdan çıkaran ve özellik ayarları koleksiyonunu döndüren bir ICollection yöntemin nasıl uygulandığını gösterir. Bu kod örneği, yönteminde gösterildiği Serialize(Object) gibi sınıfıyla ObjectStateFormatter seri hale getirilmiş özellik ayarlarını kullanır.

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

Açıklamalar

yöntemiyle Serialize seri hale getirilen herhangi bir nesne durumu grafiği, yöntemiyle seri durumdan Deserialize çıkarılabilir. Deserialize(String) yöntemi, base64 kodlamalı dize formunda depolanan bir nesne durumu grafiğini geri yüklemek için kullanılır.

Önemli

Bu yöntemi güvenilmeyen verilerle çağırmak bir güvenlik riskidir. Bu yöntemi yalnızca güvenilen verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Şunlara uygulanır