У меня есть служба WCF, в которой у меня есть несколько договоров на передачу данных.Я использую фабрику программного обеспечения веб-служб, которая использует конструктор для создания всех сообщений, данных и других контрактов и создает их как частичные классы.Когда код генерируется заново, классы воссоздаются.
using WcfSerialization = global::System.Runtime.Serialization;
[WcfSerialization::CollectionDataContract(Namespace = "urn:CAEService.DataContracts", ItemName = "SecurityItemCollection")]
public partial class SecurityItemCollection : System.Collections.Generic.List<SecurityItem>
{
}
Контракт данных представляет собой общий список пользовательского класса, который работал нормально.Однако теперь я хочу добавить свойство к этому классу, поэтому я добавил этот частичный класс в то же пространство имен:
public partial class SecurityItemCollection
{
public int TotalRecords { get; set; }
}
Кажется, это хорошо работает на стороне службы, но когда я компилирую, а затем обновляюсервисная ссылка от клиента, у класса нет нового свойства, т.е. когда он сериализует его и воссоздает его на стороне клиента, ему не хватает нового свойства.Кто-нибудь знает, почему это?
TIA
РЕДАКТИРОВАТЬ: Хорошо, это официально сводит меня с ума.Единственное, что я вижу, это то, что он использует атрибут CollectionDataContract вместо DataContract.Разве это не позволяет сериализовать элементы данных в классе?С чего бы это?Он хорошо работает на стороне службы - я могу видеть и заполнять значения без проблем.Однако, когда я обновляю ссылку на службу на моем клиенте, ничего нет, только класс colelction без члена данных.