0

CollectionDataContract列挙型メンバーを持つとしてマークされたクラスがあります。このクラスのオブジェクトをAppfabricに配置すると、完了です。Appファブリックから取得すると、列挙型メンバーが逆シリアル化されません。しかし、シリアル化の部分自体で列挙型が欠落しているかどうかはわかりません。

助けてください。

さらに詳しい情報が必要な場合はお知らせください。

ありがとう。

[CollectionDataContract]
public partial class RuleConditionList : List<IRuleCondition>, IRuleCondition
{
   public LogicalOperator Operator;
}

LogicalOperator列挙型はどこですか

4

2 に答える 2

0

コレクションデータコントラクトでマークされたクラスのデータメンバーは、データを格納するためにAppFabricで使用されるSerailization手法であるNetdataContractSerializerでシリアル化できません。

物事を機能させるには、2つのオプションがあります。

  1. RuleConditionListのラッパーを作成します
  2. リストから継承する代わりに、それをプロパティとして作成し、属性をDataContractとして変更します。
于 2013-01-07T08:13:40.127 に答える
0

オブジェクトをシリアル化/逆シリアル化するときに問題があると思います。AppFabricは、アイテムをキャッシュに格納する前に、シリアル化にNetDataContractSerializerクラスを使用します。

NetDataContractSerializerは、DataContractAttributeまたはSerializableAttributeでマークされた任意のタイプ、またはISerializableインターフェイスを実装するタイプで使用できます。

したがって、オブジェクトによっては、プライベートタイプ、プライベートフィールド、属性の欠落など、何か問題があるはずです...

編集

フィールドに追加する必要がありDataMemberます。

[DataMember]
public LogicalOperator Operator; 
于 2012-12-21T20:00:14.010 に答える