2009-05-01 5 views
0

In meinem WCF-Dienst habe ich eine Eigenschaft als solche deklariert:wcf Datamember Gehäuse

public string PropertyName 
{ 
    get { return propertyName; } 
    set { propertyName = value; } 
} 

In meinem Client, wenn ich einen Dienstverweis auf den Dienst, die importierte .cs Datei die gleiche Eigenschaft hat hinzufügen, es außer sein Gehäuse als solches verloren hat:

[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)] 
public string propertyName 
{ 
    get 
    { 
     return this.propertyNameField; 
    } 
    set 
    { 
     this.propertyNameField = value; 
    } 
} 

(. Beachten Sie die Klein p auf propertyName)

gibt es anyth Kann ich das tun, damit die Verbraucher die Immobilie tatsächlich mit dem vorgesehenen Gehäuse bekommen, zB: PropertyName, nicht propertyName?

Antwort

0

Haben Sie versucht, den Namen im DataMember explizit festzulegen? Zum Beispiel:

[DataMember(Name="PropertyName")] 
public string PropertyName { get { ... } set { ... } } 
+0

Hallo Scott. Ich habe gerade deine Methode versucht, tut mir leid, aber es hat nicht funktioniert. Danke für die Hilfe obwohl. Steven – stevenrosscampbell

+0

Hallo Scott. Entschuldigung. Dein Vorschlag hat funktioniert. Das Problem war, dass ich nicht hatte: [DataContract (Name = "Account", Namespace = "http: // Firmenname/Webservices/Schema/Konto")] Attribut um die Klasse. Als ich es hinzugefügt habe, hat alles wie erwartet funktioniert. Danke, Haben Sie einen guten. Steven – stevenrosscampbell

0

Haben Sie das DataContract-Attribut korrekt an Ort und Stelle? Stellen Sie außerdem sicher, dass Sie das DataMember auf die Eigenschaft und nicht auf die private Zeichenfolge anwenden.

[DataContract] 
public class DataObject { 

    string propertyName; 

    [DataMember] 
    public string PropertyName { 
     get { return propertyName; } 
     set { propertyName = value; } 
    } 
} 

Der vollständige Code der Klasse wäre hilfreich.

Verwandte Themen