最近、開発者の 1 人が、データ メンバーとしてマークされていないオブジェクトをデータ コントラクトに追加したというシナリオに遭遇しました。DataContractSerializer を使用して、制御しているハードウェアの構成ファイルを保存しています。明らかに、シリアル化操作は成功しませんでした。
これにより明らかになった主な問題は、プロセス中に構成ファイルが破壊されたことです。オブジェクトグラフをシリアル化する前に、オブジェクトグラフがシリアル化されることを確認する方法を知っている人はいますか?
シリアル化例外からのスタック トレースは、XmlObjectSerializerContext.CheckIfTypeSerializable(..) への呼び出しで失敗します。シリアル化を試みる前に使用できるこのようなものがあるかどうか疑問に思っています。
グラフをメモリにストリーミングしてからファイルにストリーミングする必要は避けたいのですが、これでうまくいくと思います...
助言がありますか?