Ho un servizio Web .NET (usando ASMX ... non hanno aggiornato ad ancora WCF) che espone quanto segue:Perché non riesco a esporre un'interfaccia in un servizio Web asmx .NET?
public class WidgetVersion1 : IWidget {}
public class WidgetVersion2 : IWidget {}
quando tento di legarsi al servizio web, ottengo il seguente errore di serializzazione :
Impossibile serializzare membro WidgetVersion1 di tipo IWidget perché è un'interfaccia.
Ho provato ad aggiungere vari attributi all'interfaccia iWidget (XmlIgnore
, SoapIgnore
, NonSerialized
), ma non sono validi su un'interfaccia.
Qualcuno sa perché non riesco a esporre l'interfaccia? Suppongo che WSDL non supporti le interfacce, ma .NET non potrebbe aggirare questo semplicemente non serializzando l'interfaccia? Ci sono modi per aggirare questo a parte la rimozione dell'interfaccia IWidget dalle definizioni di classe WidgetVersion1 e WidgetVersion2?
Grazie per la chiara spiegazione; ha perfettamente senso. – mcliedtk
Mi stavo chiedendo se fosse il caso e poi ho letto di nuovo la domanda e anche se stava cercando di usare una classe con un'interfaccia. – Joshua