Laden...

Enum Serialisierung schlägt fehl

6 Antworten
2,415 Aufrufe
Letzter Beitrag: vor 14 Jahren
Enum Serialisierung schlägt fehl

Hallo Forum,

ich habe mal wieder ein Problem mit Enumerationen. In meiner Klasse gibt es eine Enumeration mit folgendem Aufbau:


public enum ExperienceLevel
{
    beginner=1,
    advanced=2,
    professional=3,
}

Die Klasse wird via WebService übergeben. Anschließend erhalte ich:

System.InvalidOperationException: Instanzvalisierungsfehler: '0' ist kein gültiger Wert für MyProject.Enums.ExperienceLevel.

Ich habe darauf hin mal die Werte mit 0 beginnend erstellt. So läuft es. Da ich die Werte nicht einfach verändern darf habe ich nun ein Problem. Wie kann ich es nun hinbekommen, das ich trotzdem mit 1 beginnen kann?

Hallo,

gib bei den Enum-Membern das XmlEnumAttribute mit den Werten an.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Nach langem probieren komme ich nicht klar. Mein Enum sieht nun so aus, aber die Fehlermeldung bleibt die gleiche.


public enum ExperienceLevel
{
    [System.Xml.Serialization.XmlEnum("Beginner")]
    beginner=1,
    [System.Xml.Serialization.XmlEnum("Advanced")]
    advanced=2,
    [System.Xml.Serialization.XmlEnum("Professional")]
    professional=3,
}

Hallo,

Gibt nicht "Beginner" usw. beim XmlEnumAttribut an, sondern 1,2,3.

Wenn das auch nicht hilft dann:
Da du einen Webservice hast: kommt der Fehler beim Client oder Server?

Wenns beim Client kommt schau dir mit dem Browser an ober der WS korrekt aufgerufen werden kann. Schau dir auch mit zB Fiddler an ob die Daten korrekt übertragen werden (also mit 1,2,...).

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Der Fehler kommt vom WinForm Client. Wie kann ich mit fiddler2 die Verbindung überwachen?

Hallo,

hast du das XmlEnum mit den Zahlen probiert?

Bzgl. Fiddler google mal -> findet sich genug.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"