私はSessionキーをループして、エントリとその値をHashtableに追加しています。これをシリアル化しています。私が抱えている問題は、セッション上に直列化可能でないオブジェクトがあり、それはとにかく直列化してはいけないということです。私の周り探しています、そしてビルトインタイプの多くは、それが動作しないためにそうテスト、ISerializable属性を実装していない:クラスをシリアル化できるかどうかをどのようにして知ることができますか?
if (val is ISerializable)
{
...
}
だから、私はこれをテストする方法を教えてください。これは理にかなっていますか?
それを直列化することは、過剰な殺人のように思えます。いくつかの人は、クローンの目的でシリアライゼーションを使用しています:-) ...とにかく、成功したシリアライゼーションは、次回の成功を保証しません。 –
@トーロ、そうではありません。シリアライズのポイントにあるオブジェクトがシリアライズ可能かどうかだけを伝えます。私はあなたが試みる他の方法が働くことが保証されていないので、それは残酷だとは思わない。 – JaredPar
私は[Serializable]を使い、失敗した場合に例外を処理します。とにかくそれをやる必要があります。少なくともシリアライズ可能であるとフラグされていない場合は、試してみる必要はありません。 –