Он может возвращать оба в зависимости от вызванного метода обслуживания.

жбе WCF у меня есть два класса с атрибутом [DataContract]. Один из этих классов имеет отношение «is-a» с другим, поэтому класс B может наследовать от класса A. Однако, когда я настраиваю наследование между этими двумя классами, оба из которых обозначены атрибутом [DataContract], метаданные не загружаются при тестировании сервисов.

Это возможно в WCF? Я пропускаю другой атрибут?

[DataContract]
public class A
{        
    [DataMember]
    public MyCustomType AValue1{ get; set; }

    [DataMember]
    public MyCustomType AValue2 { get; set; }
}

[DataContract]
public class B: A
{       
   [DataMember]
   public double BValue1{ get; set; }

   [DataMember]
   public double BValue2 { get; set; }
}

ПРИМЕЧАНИЕ. Пользовательские типы также определяются с использованием контрактов данных.

ОБНОВИТЬ: Ниже ошибка:

Ошибка: невозможно получить метаданные изHTTP: // локальный: 8002 / GISDataServices / MEX Если это служба Windows (R) Communication Foundation, к которой у вас есть доступ, убедитесь, что вы включили публикацию метаданных по указанному адресу. Для получения справки о включении публикации метаданных, пожалуйста, обратитесь к документации MSDN по адресуhttp://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata URI ошибки обмена:HTTP: // локальный: 8002 / GISDataServices / MEX Метаданные содержат ссылку, которая не может быть разрешена:HTTP: // локальный: 8002 / GISDataServices / MEX».Receivera:InternalServiceFaultСерверу не удалось обработать запрос из-за внутренней ошибки. Для получения дополнительной информации об ошибке либо включите IncludeExceptionDetailInFaults (либо из ServiceBehaviorAttribute, либо из поведения конфигурации <serviceDebug>) на сервере, чтобы отправить информацию об исключении обратно клиенту, либо включите трассировку в соответствии с Microsoft .NET Framework. 3.0 Документация SDK и проверьте журнал трассировки сервера. HTT GET Ошибка URI:HTTP: // локальный: 8002 / GISDataServices / MEX При загрузке произошла ошибкаHTTP: // локальный: 8002 / GISDataServices / MEX». Запрос не выполнен с состоянием HTTP 400: неверный запрос.

ОБНОВЛЕНИЕ 2: Смотрите мой ответ ниже.

Ответы на вопрос(3)

Ваш ответ на вопрос