3

NetDataContractSerializer (または私が推測する任意のシリアライザー) を使用して、逆シリアル化中に通常はシリアル化できない型のオブジェクト作成を制御したいと思います。カスタム SerializationBinder を使用して、構築される型を制御し、カスタム ISurrogateSelector および ISerializationSurrogate を使用して、オブジェクトの状態を設定する方法を制御できます。

私ができないことは、実際に自分でオブジェクトを作成して、依存性注入などを使用できるようにすることです。問題を引き起こしているオブジェクトはオブジェクト グラフ内にあるため、シリアル化する前に編集できません。

私のコードが逆シリアル化されたオブジェクトを構築できるようにする方法はありますか?

(背景として、私は WF サンプルの XmlWorkflowInstanceStore に基づいてカスタム WF4 永続インスタンス ストアを作成しています。インターフェイスである変数を持つワークフローを作成したいのですが、具体的な型を直接構築することはできません。XmlWorkflowInstanceStore は唯一のたとえば、カスタムの永続性を見つけることができ、NetDataContractSerializer を使用してワークフローの状態をシリアル化します。)

4

2 に答える 2

0

私はいつもこの問題に遭遇します。私は通常、ISerializable を自分で実装し、すべての依存関係をメソッド (たとえば SetDependencies という名前) で設定します。これは、(逆シリアル化の後に呼び出す必要があるため) 本当に望む方法ではありませんが、まだより良い方法が見つかりませんでした ( AOPを試しましたが、厄介になりました)

于 2011-08-11T14:09:55.627 に答える