Случай:
[ServiceContract]
public interface IInfo
{
[DataMember]
int Id{get;set;}
}
[DataContract]
[KnownType(typeof(Legal))]
public class Info
{
[DataMember]
public int Id { get; set; }
}
[DataContract]
public class Legal : Info
{
[DataMember]
public string ManagerName { get; set; }
}
[ServiceContract]
[ServiceKnownType(typeof(Legal))]
public interface IMyService
{
[OperationContract]
int DoWork(Info dto);
}
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : IMyService
{
public int DoWork(Info dto)
{
string name;
if (dto is Legal)
name = (dto as Legal).ManagerName;
return dto.Id;
}
}
Можно ли узнать dto как тип Legal и иметь доступ к дочерним свойствам?
Я хочу сохранить dto и не могуне нужно иметь много служб для каждого дочернего элемента информации.
Передача обобщенных данных в службу не работает, ошибка wsdl, интерфейс, такой как IInfo, в качестве входного параметра не работает, ошибка приведения, базовый класс, такой как Info, нене работает, дочерние реквизиты недоступны, переполнение стека не работает, это мой второй раз, когда я отправляю этот пробник, но ответа нет!