(그들은 ... 내 질문에 관련되지 않기 때문에 나는 다른 속성을 많이 제거) 그래서 같은 기록의 스트림 :Protobuf (비)이 같은 클래스 설정을 가지고 직렬화
Serializer.SerializeWithLengthPrefix(_stream, record, PrefixStyle.Base128);
Serializer.DeserializeWithLengthPrefix<Record>(_stream, PrefixStyle.Base128);
내가 시도하지만 역 직렬화, 내 Record
객체 (어떤이 UserRecord
)은 EntryId
및 DataSourceId
에 대해 0 값을 반환하며 그 이유는 확실하지 않습니다. 나는 Entry
과 DataSource
의 ID에서 [IgnoreDataMember]
을 제거했지만, 여전히 소멸시에는 0의 값을 얻습니다. 개체의 다른 모든 속성은 올바르게 채워집니다.
사용자 레코드는
userRecord1 = new UserRecord()
{
// ...other datamembers
EntryId = 123456789,
DataSourceId = 123456789,
};