バイナリ シリアル化
シリアル化は、オブジェクトの状態をストレージ メディアに保存するプロセスとして定義されています。このプロセスの間に、オブジェクトのパブリック フィールドとプライベート フィールド、およびクラス名が、バイトのストリームに変換され、データ ストリームに書き込まれます。その後、シリアル化されたオブジェクトを逆シリアル化すると、元のオブジェクトの正確なクローンが作成されます。
オブジェクト指向環境にシリアル化機構を実装する場合は、使いやすさと柔軟性に関してさまざまな検討が必要になります。このプロセスに対する十分な制御権限が与えられていると、このプロセスを広範囲に自動化できます。たとえば、単純なバイナリ シリアル化が不十分な場合に問題が発生したり、クラスのどのフィールドをシリアル化する必要があるかを決める特別な理由が生じたりすることがあります。以下の各セクションでは、.NET Framework が提供する堅牢なシリアル化機構について説明し、このプロセスを必要に応じてカスタマイズするためのさまざまな重要機能を紹介します。
このセクションの内容
- シリアル化の概念
データをストレージに永続化するシナリオと、アプリケーション ドメインを越えてオブジェクトを受け渡しするシナリオの 2 つを例として、シリアル化の有効な利用方法について説明します。
- 基本的なシリアル化
バイナリ フォーマッタおよび SOAP フォーマッタを使用してオブジェクトをシリアル化する方法について説明します。
- 選択的シリアル化
クラスの一部のメンバをシリアル化しないようにする方法について説明します。
- シリアル化のカスタマイズ
ISerializable インターフェイスを使用してクラスのシリアル化をカスタマイズする方法について説明します。
- シリアル化プロセスの手順
フォーマッタで Serialize メソッドが呼び出されたときのシリアル化の動作について説明します。
- バージョン トレラントなシリアル化
アプリケーションが例外をスローすることなく後から変更が可能な、シリアル化可能な型の作成方法について説明します。
- シリアル化のガイドライン
オブジェクトをシリアル化する場合を判断するための、いくつかの一般的なガイドラインを示します。
参照
- System.Runtime.Serialization
オブジェクトのシリアル化と逆シリアル化に使用できるクラスが含まれています。
関連するセクション
- XML シリアル化および SOAP シリアル化
共通言語ランタイムに付属している XML シリアル化機構について説明します。
- セキュリティとシリアル化
シリアル化を実行するコードを作成する際の安全なコーディングのガイドラインについて説明します。
- リモート オブジェクト
.NET Framework でリモート通信に利用できるさまざまな通信方法について説明します。
- ASP.NET を使用して作成した XML Web サービスと XML Web サービス クライアント
ASP.NET を使用して作成された XML Web サービスをプログラムする方法について説明するトピックを示します。