Составной класс DataContract - PullRequest
       27

Составной класс DataContract

0 голосов
/ 13 декабря 2011

У меня проблема с составным классом сериализации (с использованием службы WCF).

вот мой класс в namespace1 (его нет в пространстве имен службы):

 [DataContract]
    public class UpData
    {
        [DataMember]
        public double Version ;

        public UpData()
        {
            this.Version = -1;    
        }
    }

В моем пространстве имен службы (в интерфейсе) я объявляю эту процедуру:

ArrayList GetDownloadPath(Dictionary<string,string> lib1, Dictionary<string,string> lib2);

ArrayList содержит объекты UpData.

У меня ошибка (

Как будет правильно отправлять ArrayList объектов UpData? (может быть конкретный DataContract?)

Большое спасибо!

1 Ответ

0 голосов
/ 13 декабря 2011

Я не уверен, что ArrayList по умолчанию сериализуем.Использование общего списка может решить вашу проблему:

[OperationContract]
List<UpData> GetDownloadPath(Dictionary<string,string> lib1, Dictionary<string,string> lib2);

РЕДАКТИРОВАТЬ: Я думаю, вам также необходимо указать геттер и сеттер для вашего свойства Version, то есть

[DataContract]
public class UpData
{
    [DataMember]
    public double Version { get; set; }

    public UpData()
    {
        this.Version = -1;    
    }
}

Подробнее здесь .

...