ObjectStateFormatterとは? わかりやすく解説

ObjectStateFormatter クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

オブジェクトの状態を表すオブジェクト グラフシリアル化および逆シリアル化ます。このクラス継承できません。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 ObjectStateFormatter
    Implements IStateFormatter, IFormatter
Dim instance As ObjectStateFormatter
public sealed class ObjectStateFormatter :
 IStateFormatter, IFormatter
public ref class ObjectStateFormatter sealed
 : IStateFormatter, IFormatter
public final class ObjectStateFormatter implements
 IStateFormatter, IFormatter
public final class ObjectStateFormatter implements
 IStateFormatter, IFormatter
解説解説

ObjectStateFormatter クラスは、オブジェクトの状態グラフ圧縮形式シリアル化したり逆シリアル化したりします

ObjectStateFormatter は、ビューステートコントロールの状態シリアル化する目的で PageStatePersister クラスとその派生クラスによって使用されます。また、ASP.NET インフラストラクチャさまざまな部分に対してオブジェクトの状態グラフ形式提供する目的で LosFormatter クラスによっても使用されます。

ObjectStateFormatter クラスは、多くの共通 .NET Framework 参照型および定数シリアル化書式化するために最適化されます最適化される型を次の表に示します

Array

DateTime

Int16

String

ArrayList

Double

Int32

String []

Boolean

Enum

null (Nothing)

String.Empty

Byte

Hashtable

Pair

Triplet

Char

HybridDictionary

Single

Type

Color

IDictionary

また、従来文字列型文字列配列そのままシリアル化されたバイナリ ライタ書き込まれたり、ライタから書き込まれりしますが、内部文字列テーブル作成することにより、最適化される文字列あります文字列関連付けられている TypeConverter オブジェクトがあったり、その文字列実際には IndexedString クラスインスタンスである場合に、これらのテーブル使用して文字列最適化されます

前述の表に含まれていない型は、ISerializable インターフェイス実装したり、SerializableAttribute 属性付いている場合に、BinaryFormatter オブジェクト使用してバイナリ シリアル化されますObjectStateFormatter クラスは、これらのシリアル化できる型に対して最適化されません。

ObjectStateFormatter クラスシリアル化できない型を検出した場合、ArgumentException 例外スローさます。

使用例使用例

PageStatePersister クラス派生クラスから StateFormatter プロパティアクセスして、ObjectStateFormatter インスタンス取得しビューステートコントロールの状態シリアル化してストリームにする方法次のコード例示します。このコード例は、PageStatePersister クラストピック取り上げているコード例一部分です。

'
' Persist any ViewState and ControlState.
'
Public Overrides Sub Save()

    If Not (ViewState Is
 Nothing) OrElse Not (ControlState
 Is Nothing) Then
        If Not (Page.Session Is
 Nothing) Then

            Dim stateStream As Stream
            stateStream = GetSecureStream()

            ' Write a state string, using the StateFormatter.
            Dim writer As New
 StreamWriter(stateStream)

            Dim formatter As IStateFormatter
            formatter = Me.StateFormatter

            Dim statePair As New
 Pair(ViewState, ControlState)

            Dim serializedState As String
            serializedState = formatter.Serialize(statePair)

            writer.Write(serializedState)
            writer.Close()
            stateStream.Close()
        Else
            Throw New InvalidOperationException("Session
 needed for StreamPageStatePersister.")
        End If
    End If
End Sub 'Save
//
// Persist any ViewState and ControlState.
//
public override void Save()
{

    if (ViewState != null || ControlState !=
 null)
    {
        if (Page.Session != null)
        {
            Stream stateStream = GetSecureStream();

            StreamWriter writer = new StreamWriter(stateStream);

            IStateFormatter formatter = this.StateFormatter;
            Pair statePair = new Pair(ViewState, ControlState);

            // Serialize the statePair object to a string.
            string serializedState = formatter.Serialize(statePair);

            writer.Write(serializedState);
            writer.Close();
            stateStream.Close();
        }
        else
            throw new InvalidOperationException("Session
 needed for StreamPageStatePersister.");
    }
}
継承階層継承階層
System.Object
  System.Web.UI.ObjectStateFormatter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ObjectStateFormatter メンバ
System.Web.UI 名前空間

ObjectStateFormatter コンストラクタ


ObjectStateFormatter プロパティ


明示的インターフェイスの実装明示的インターフェイス実装

  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Binder このメンバ説明については、Formatter.Binder のトピック参照してください
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Context このメンバ説明については、IFormatter.Context のトピック参照してください
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.SurrogateSelector このメンバ説明については、System.Runtime.Serialization.SurrogateSelector のトピック参照してください
参照参照

関連項目

ObjectStateFormatter クラス
System.Web.UI 名前空間

ObjectStateFormatter メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Deserialize このメンバ説明については、ObjectStateFormatter.Deserialize のトピック参照してください
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Serialize このメンバ説明については、ObjectStateFormatter.Serialize のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IStateFormatter.Deserialize このメンバ説明については、ObjectStateFormatter.Deserialize のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IStateFormatter.Serialize このメンバ説明については、ObjectStateFormatter.Serialize のトピック参照してください
参照参照

関連項目

ObjectStateFormatter クラス
System.Web.UI 名前空間

ObjectStateFormatter メンバ

オブジェクトの状態を表すオブジェクト グラフシリアル化および逆シリアル化ます。このクラス継承できません。

ObjectStateFormatter データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド ObjectStateFormatter ObjectStateFormatter クラス新しインスタンス初期化します。
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Deserialize このメンバ説明については、ObjectStateFormatter.Deserialize のトピック参照してください
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Serialize このメンバ説明については、ObjectStateFormatter.Serialize のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IStateFormatter.Deserialize このメンバ説明については、ObjectStateFormatter.Deserialize のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IStateFormatter.Serialize このメンバ説明については、ObjectStateFormatter.Serialize のトピック参照してください
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Binder このメンバ説明については、Formatter.Binder のトピック参照してください
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.Context このメンバ説明については、IFormatter.Context のトピック参照してください
インターフェイスの明示的な実装 System.Runtime.Serialization.IFormatter.SurrogateSelector このメンバ説明については、System.Runtime.Serialization.SurrogateSelector のトピック参照してください
参照参照

関連項目

ObjectStateFormatter クラス
System.Web.UI 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からObjectStateFormatterを検索した結果を表示しています。
Weblioに収録されているすべての辞書からObjectStateFormatterを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からObjectStateFormatter を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ObjectStateFormatter」の関連用語

ObjectStateFormatterのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ObjectStateFormatterのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS