1

@mythz の ServiceStack.Text (パッケージ バージョン 2.9) TypeSerializer をシリアル化と逆シリアル化に使用して、キャッシュ内のオブジェクトをディープ コピーします。逆シリアル化で次のエラーが発生することに気付きました。

型定義は '{' で始まる必要があります。シリアル化された型 'MetadataCollection' が必要です。次で始まる文字列を取得しました: []

MetadataCollection は、IEnumerable を実装するカスタム コレクション クラスです。テスト用にシリアル化された文字列を確認すると、シリアライザーの Metadata プロパティ (MetadataCollection 型) プロパティは実際に次のようにシリアル化されています。

,Metadata:[],

このコレクションは空なので、これは正しいように思えます。これを機能させるためにできることはありますか?

4

2 に答える 2

1

これは、ServiceStack.Textパッケージバージョン2.xのバグ/欠落機能が原因です。ServiceStack.Textパッケージバージョン3.9.3にアップグレードしましたが、すべて問題ありません。

于 2012-09-07T20:02:33.050 に答える
1

次のようなエラーが表示された場合:

型定義は「{」で始まる必要があります。

これは、モデルの形状が JSON と一致していないことを示しています。

機能しない例のスタンドアロンの失敗テストを提供できますか?

于 2012-09-07T18:29:07.940 に答える