Хорошо, поэтому я строю свою службу WCF. У меня возникла проблема с тем, что мой прокси не генерирует код для классов с такими типами, как ListViewItem или даже объекты класса, которые я уже определил.WCF относительно типа собственности класса
Два примера ниже - это классы, которые я пытаюсь пройти.
Пример # 1
[DataContract]
public class InvoiceCharges {
#region Property...
private int _invoiceChargeID;
private ListViewItem _listViewItem;
[DataMember]
public int InvoiceChargeID {
get { return _invoiceChargeID; }
set { _invoiceChargeID = value; }
}
[DataMember]
public ListViewItem ListViewItem {
get { return _listViewItem; }
set { _listViewItem = value; }
}
#endregion
Пример # 2
[DataContract]
public class Users {
#region Properties...
private int _userID;
private Divisions _Division = new Divisions();
[DataMember]
public int UserID {
get { return _userID; }
set { _userID = value; }
}
[DataMember]
public Divisions Division {
get { return _Division; }
set { _Division = value; }
}
В 2-ом примере я смущен, почему она имеет трудное время проездом мой класс Дивизия, что он уже видит , Конечно, WCF может передавать ваши собственные пользовательские объекты? Любая помощь очень ценится, я знаю на других платформах, чтобы Сериализовать свой собственный пользовательский объект, вам нужно сделать что-то особенное для своего класса. Я не был уверен, обрабатывал ли WCF это автоматически или нет.
EDIT
Любая другая помощь по этому вопросу по-прежнему ценится.
Я также попытался добавить следующее к классу InvoiceCharges, но по-прежнему не мог корректно увидеть, как прокси генерируется.
[KnownType(typeof(ListViewItem))]
Кроме того, это поведение прокси. Для этого я использую Add Service Reference.
Посмотрите, как он генерирует несколько "InvoiceCharges" его все из-за этого ListViewItem. Я могу удалить атрибут DataMember и его штраф.
Имеет ли класс Divings атрибут DataContract на нем? –
Да, странно то, что когда я удаляю атрибут [DataMember] из пользовательских объектов (таких как свойство ListViewItem и свойство Division), с которыми он сталкивается. Класс создает прокси-сервер успешно на стороне клиента. – meanbunny
Ну, я предполагаю, что ListViewItem не отмечен атрибутом DataContract, так что это может быть проблемой. Не уверен в классе Divisions, так как вы не опубликовали код. –