Ich versuche, eine Klasse mit einem schreibgeschützten Id-Feld zu erstellen, jedoch habe ich Probleme, den Wert beizubehalten, wenn das Objekt den WCF-Server passiert.WCF DataMember-Attribut für schreibgeschützte Felder?
Ich kann das [DataMember]
Attribut auf der öffentlichen Eigenschaft nicht festlegen, da es keine set
Methode gibt, und ich möchte es so behalten, wenn möglich, da ich nicht möchte, dass dieser Wert von externen Mitteln geändert wird. Ich kann das Attribut [DataMember]
nicht auf das private Feld setzen, da es in teilweise vertraulichen Umgebungen einen Fehler auslöst.
public class MyClass
{
private int _id;
public int Id
{
get { return _id; }
}
private string _otherProperties;
[DataMember]
public string OtherProperties
{
get { return _otherProperties; }
set { _otherProperties = value; }
}
}
Gibt es eine Möglichkeit, den Wert des Id-Feldes zu halten, während ohne dass mein Eigentum Öffentlichkeit durch den WCF-Server gehen?
http://msdn.microsoft.com/en-us/library/ms733127.aspx: Es sollte keinen Fehler auslösen, wenn Sie eine private Methode haben. Sie können in der Notiz sehen, dass DataContract die Sichtbarkeit der Methode nicht interessiert. –