ObjectStateFormatter.Deserialize Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Serileştirilmiş biçimden nesne durumu grafiğini seri durumdan kaldırır.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| Deserialize(Stream) |
Bir nesne durumu grafiğini, belirtilen Stream nesnede bulunan ikili serileştirilmiş formundan seri durumdan kaldırır. |
| Deserialize(String) |
Seri hale getirilmiş base64 kodlu dize formundan nesne durumu grafiğinin seri durumdan çıkarılır. |
Açıklamalar
Önemli
Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir 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ş formundan 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 öğesinin ObjectStateFormatter başlatılmış bir olarak seri durumdan çıkarıldığı objectbir .
Döndürülenler
Seri durumdan çıkarılmış nesne durumu 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 serileştirilmiştir. Load yöntemi çağrıldığında, Deserialize(Stream) dosyadan görünüm durumunu seri durumdan çıkarmak 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 getirilmiş 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öntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.
Şunlara uygulanır
Deserialize(String)
Seri hale getirilmiş base64 kodlu dize formundan nesne durumu grafiğinin seri durumdan çıkarılı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 nesneye seri durumdan çıkarıldığı bir dize.
Döndürülenler
Seri durumdan çıkarılmış nesne durumu 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 durumunu seri durumdan çıkarma başarısız olduğunda 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ı koleksiyonu 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 getirilmiş herhangi bir nesne durumu grafiği, yöntemiyle seri durumdan Deserialize çıkarılabilir. Deserialize(String) yöntemi, base64 kodlu dize formunda depolanan bir nesne durumu grafiğini geri yüklemek için kullanılır.
Önemli
Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.