Tengo un servicio web .NET (usando asmx ... no han actualizado a WCF todavía) que expone lo siguiente:¿Por qué no puedo exponer una interfaz en un servicio web .NET asmx?
public class WidgetVersion1 : IWidget {}
public class WidgetVersion2 : IWidget {}
cuando intento para enlazar con el servicio web, me sale el siguiente error de serialización :
No se puede serializar el miembro WidgetVersion1 de tipo IWidget porque es una interfaz.
He intentado agregar varios atributos a la interfaz iwidget (XmlIgnore
, SoapIgnore
, NonSerialized
), pero no son válidos en una interfaz.
¿Alguien sabe por qué no puedo exponer la interfaz? Supongo que WSDL no es compatible con las interfaces, pero ¿no podría .NET solucionar esto simplemente sin serializar la interfaz? ¿Hay alguna forma de evitar esto aparte de eliminar la interfaz de IWidget de las definiciones de clase WidgetVersion1 y WidgetVersion2?
Gracias por la explicación clara; tiene perfecto sentido. – mcliedtk
Me preguntaba si ese era el caso y luego volví a leer la pregunta y aunque intentaba usar una clase que tenía una interfaz. – Joshua