Вопрос

У меня есть ситуация, когда мне нужно пройти список объектов на мой сервис.Объекты должны быть типа элемента.У меня есть интерфейс элемента, определенный так, как так

public interface IElement{ }
.

Тогда у меня есть мои данные данных, устанавливающие этот класс IElement, как так.ОтказОтказОтказ

[KnownType(typeof(Common.IElement))]
[DataContract]
public abstract class IPet : IElement
 {.....}
.

У меня также есть атрибут SewiveType на моем интерфейсе обслуживания, как так

[ServiceContract(Name="Pets", SessionMode = SessionMode.Allowed)]
[ServiceKnownType(typeof(Memberships.PetServiceUser))]
[ServiceKnownType(typeof(.Common.IElement))]
[DeliveryRequirements(RequireOrderedDelivery=true)] 
public interface IPetService {.....}
. Задача

на стороне клиента, тип IElement недоступен в десериализации типов обслуживания на клиенте.Любая идея, что я могу делать не так, и как я могу понять это, пожалуйста?

Нет

Это было полезно?

Решение

Я не на 100 процентов Конечно, я понимаю все, что вы пытаетесь сделать здесь, но кажется, что для меня,Обычный способ использования атрибута CoveryTyPe - это украсить базовый тип с производными типами.Что-то вдоль линий:

[DataContract]
[KnownType(typeof(Pet))]
[KnownType(typeof(...
...
public class Element: IElement
{
....
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top