J'ai ces classes:Pourquoi ne puis-je pas envoyer ma classe personnalisée via mon service Web?
public abstract class CustomField
{
public String Id { get; set; }
public String Name { get; set; }
public String Description { get; set; }
public FieldType Type { get; set; }
public enum FieldType
{
String = 0,
Integer = 1,
Boolean = 2,
List = 3
}
}
public class StringCustomField:CustomField
{
public String Value { get; set; }
public Int32 MinLenght { get; set; }
public Int32 MaxLenght { get; set; }
public StringCustomField()
{
this.Type = FieldType.String;
}
}
public class CustomGroup
{
public String Id { get; set; }
public String Name { get; set; }
public String Description { get; set; }
public List<CustomField> FieldList = new List<CustomField>();
}
Lorsque je tente de transférer CustomGroup
dans mon webservice je reçois cette erreur:
The remote server returned an error: NotFound
sérialisation échoue lorsque C# tente de transférer mon StringField
dans mon CustomField
.
Qu'est-ce que je fais mal?
Marc Gravel dis-moi de le faire et je comprends la solution mais quelque chose ne va pas, pas d'effets, cath la même erreur !! , Aidez-moi!!
[XmlInclude(typeof(StringCustomField))]
[XmlInclude(typeof(IntegerCustomField))]
[XmlInclude(typeof(BooleanCustomField))]
[XmlInclude(typeof(ListCustomField))]
public abstract class CustomField
{
public String Id { get; set; }
public String Name { get; set; }
public String Description { get; set; }
public FieldType Type { get; set; }
public enum FieldType
{
String = 0,
Integer = 1,
Boolean = 2,
List = 3
}
}
Pourquoi le downvote massif? – Will
Sidenote: c'est la longueur, pas la longueur. Cependant, j'avais l'impression que c'était la désérialisation qui serait le problème lorsque vous utilisez des sous-classes. Malheureusement, je ne me souviens pas exactement comment je l'ai résolu. Regardez dans XmlArrayItemAttribute (http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlarrayitemattribute.aspx) – Thorarin
Downvotes étaient en raison de la mauvaise formulation/non professionnelle de la question, les modifications ont pris en charge de cela :) –