У меня возникли проблемы с десериализацией объекта.
У меня есть следующие классы:
Метаданные:
[DataContract]
public class MetadataStore : IEnumerable<ItemMetadata>
{
private List<ItemMetadata> data = new List<ItemMetadata>();
private string folderPath = null;
[DataMember]
public string FilePath
{
// getter and setter
}
[DataMember]
public List<ItemMetadata> Data
{
// getter and setter
}
}
ItemMetadata:
[Serializable()]
public class ItemMetadata
{
// syncid, syncversion, uristring etc..
}
Проблема:
Я передаю объект Metadatastore с моего сервера (который имеетслужба wcf запущена) моему клиенту с помощью выходного параметра.Так что я полагаю, что сериализация / десериализация этого выходного параметра автоматически выполняется wcf.Вот что происходит:
клиент вызывает службу:
service.GetChangeBatch(out metadatastore_object, otherValue);
сервер отвечает правильно (metadatastore_object успешно заполнен и сериализован -> без ошибок)
объектЯ получаю на стороне клиента, хотя и не правильно: FilePath заполнен правильно, но объект List Data содержит ноль элементов!Я проверил также на сервере, и список данных содержал 2 элемента.Еще одна странная вещь, на которую следует обратить внимание, это то, что она не равна нулю, это только что созданный пустой список.Есть ли у кого-то опыт с этим, я могу предоставить больше кода, если это необходимо.Заранее спасибо.Встречает Даан