У меня есть веб-служба .NET (использующая asmx ... еще не обновлена до WCF), которая предоставляет следующее:
public class WidgetVersion1 : IWidget {}
public class WidgetVersion2 : IWidget {}
Когда я пытаюсь привязаться к веб-службе, я получаюследующая ошибка сериализации:
Невозможно сериализовать элемент WidgetVersion1 типа IWidget, потому что это интерфейс.
Я пытался добавить различные атрибуты в интерфейс IWidget (XmlIgnore
,SoapIgnore
, NonSerialized
), но они недействительны для интерфейса.
Кто-нибудь знает, почему я не могу открыть интерфейс?Я предполагаю, что WSDL не поддерживает интерфейсы, но .NET не может обойти это, просто не сериализовав интерфейс?Есть ли способы обойти это, кроме удаления интерфейса IWidget из определений классов WidgetVersion1 и WidgetVersion2?