0

シリアル化と逆シリアル化の際に無視する必要のあるプロパティを持つオブジェクトをSagaデータに保存しています。これらのプロパティを[NonSerialized]と[JsonIgnore]の両方でマークしようとしました(そしてクラスに[DataContract]で注釈を付け、それらのプロパティを[DataMember]にしないでください...)、何もうまくいかないようです。私が何をしても、NServiceBusがJson.NETを呼び出してsagaデータを永続化すると、すべてのプロパティがシリアル化されます。また、問題のオブジェクトにカスタムJsonConverterを実装しようとしましたが、それも無視されます(はい、オブジェクトタイプに[JsonConverter(typeof(MyConverter))]で注釈を付けています...)

sagaデータに含まれるオブジェクトのプロパティを無視するようにsaga永続性を取得する方法はありますか?参考までに、NServiceBus 3.2.7、Json.NET 4.5.7、およびRavenDBビルド960を使用しています。バスはRavenDB永続性とsaga永続性を使用するように構成されています。

4

1 に答える 1

0

NServiceBusは、ravenクライアントとjson.netの両方を内部化します。そのため、これらの属性は機能しません(内部フラグとマージするため、これらは本質的に異なるタイプです)。回避策は、マージされていないnsbのコアのみのバージョンを使用することです。それは私がなぜあなたがそれらの追加のプロパティを必要とするのか興味がありますか?

于 2012-08-15T19:06:13.480 に答える