Protobuf.net Список десериализации WCF <T>
Я пытаюсь использовать WCF с protobuf-net r.282
Хорошо. Я отмечаю свои контракты атрибутом ProtoBehavior
[OperationContract,ProtoBehavior]
[FaultContract(typeof(ServiceFaultException))]
Dictionary<ActivityCategoryDTO, SalesTemplateDTO> GetSalesTemplates();
[OperationContract, ProtoBehavior]
[FaultContract(typeof(ServiceFaultException))]
List<ActivityCategoryDTO> GetActivities();
Далее - ДТО:
[DataContract]
[Serializable]
[ProtoContract]
public class ActivityCategoryDTO
{
[DataMember]
[ProtoMember(1)]
public int Id { get; set; }
[DataMember]
[ProtoMember(2)]
public string Guid { get; set; }
[DataMember]
[ProtoMember(3)]
public string Name { get; set; }
}
Я пытаюсь потреблять эту услугу от клиента. Когда я вызываю GetSalesTemplates - все в порядке. У меня есть успешный десериализованный словарь, но когда я вызываю GetActivities, я получаю ноль на клиенте. Через фидлер я вижу, что данные успешно передаются, поэтому я думаю, что это проблема десериализатора.
В чем дело? Как я могу получить список на клиента?
РЕДАКТИРОВАТЬ
Кажется, у меня проблемы со всеми списками :)
[DataContract]
[Serializable]
[ProtoContract]
public class SalesTemplateDTO
{
[ProtoMember(1)]
[DataMember]
public string Name { get; set; }
[ProtoMember(2)]
public List<FieldTemplateDTO> Fields;
}
Он приходит к клиенту только с именем, список полей снова нулевой. Хотя все данные тоже передаются.