Я передаю объект службе WCF и ничего не получаю обратно. Я проверил переменную, поскольку она передается методу, который фактически выполняет эту работу, и заметил, что ни одно из значений не установлено для объекта в этой точке. Вот объект:
[DataContract]
public class Section {
[DataMember]
public long SectionID { get; set; }
[DataMember]
public string Title { get; set; }
[DataMember]
public string Text { get; set; }
[DataMember]
public int Order { get; set; }
}
Вот сервисный код метода:
[OperationContract]
public List<Section> LoadAllSections(Section s) {
return SectionRepository.Instance().LoadAll(s);
}
Код, который на самом деле вызывает этот метод, находится в XAML-файле Silverlight:
SectionServiceClient proxy = new SectionServiceClient();
proxy.LoadAllSectionsCompleted += new EventHandler<LoadAllSectionsCompletedEventArgs>(proxy_LoadAllSectionsCompleted);
Section s = new Section();
s.SectionID = 4;
proxy.LoadAllSectionsAsync(s);
Когда код, наконец, попадает в метод LoadAllSections (Section s), SectionID параметра не устанавливается. Я прошел по коду и, когда он входит в сгенерированный код, который возвращает объект IAsyncResult, свойства объекта устанавливаются. Но когда он на самом деле вызывает метод LoadAllSections, полученный параметр остается пустым. Есть ли что-то, что я должен установить, чтобы сделать proeprty палку между вызовами методов?