2012-12-21 3 views
0

열거 형 멤버가있는 CollectionDataContract으로 표시된 클래스가 있습니다. Appfabric에이 클래스의 객체를 배치하면 끝납니다. App 패브릭에서 다시 가져올 때 열거 형 멤버를 deserialize하지 않습니다. 하지만 직렬화 부분 자체에서 열거 형이 누락되었는지 확실하지 않습니다.App Fabric : GET에서 Enum 속성을 누락하는 동안

도와주세요.

자세한 정보가 필요하면 알려주십시오.

감사합니다. LogicalOperator이 열거

답변

0

수집 데이터 계약 표시된 클래스에 데이터 부재는 데이터를 저장하기 위해 애플리케이션에 의해 사용되는 직물 serailization 기술이다 NetdataContractSerializer 직렬화 될 수 없다.

  1. 이 RuleConditionList
  2. 대신 목록에서 상속에 대한 래퍼를 확인 속성으로하고 DataContract와 같은 속성을 변경 :

    상황이 우리가 두 가지 옵션이 작동하게합니다.
0

내가 직렬화 때/개체를 직렬화 복원에 문제가 있다고 생각을하다

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

. AppFabric은 항목을 캐시에 저장하기 전에 NetDataContractSerializer 클래스를 사용하여 직렬화합니다.

DataContractAttribute 또는 SerializableAttribute로 표시된 모든 유형 또는 ISerializable 인터페이스를 구현하는 유형에서 NetDataContractSerializer를 사용할 수 있습니다.

그래서 따라와 개체가, 당신은 당신의 분야에 DataMember을 추가해야

편집

... 개인 형, 민간 분야, 누락 attibute 같은 문제가있을 것이다.

[DataMember] 
public LogicalOperator Operator; 
+0

실제 문제가 발견되었습니다. 그것은 열거 형이 아닙니다. 클래스를 표시하는 컬렉션 데이터 계약의 모든 enum이 제대로 직렬화되지 않습니다. 그러나 나는이 문제에 대해 연구 중이다. – Dhanasekar

+0

님은 귀하의 입력란에 datamember 태그를 지정해야합니다. 편집 – Cybermaxs

+0

보기 이미 [DataMember] 속성 – Dhanasekar