Estoy tratando de crear una clase con un campo Id de solo lectura, sin embargo, tengo problemas para retener el valor cuando el objeto pasa a través del servidor WCF.Atributo WCF DataMember para campos de solo lectura?
No puedo establecer el atributo [DataMember]
en la propiedad pública ya que no existe el método set
, y me gustaría mantenerlo así si es posible ya que no quiero que este valor cambie por medios externos. No puedo establecer el atributo [DataMember]
en el campo privado, ya que arroja un error en los entornos de confianza parcial.
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; }
}
}
¿Hay alguna manera de mantener el valor del campo Id mientras se pasa por el servidor WCF sin hacer que mi propiedad sea pública?
http://msdn.microsoft.com/en-us/library/ms733127.aspx: No debería arrojar un error si tiene un método privado. Puede ver en la nota: que a DataContract no le importa la visibilidad del método. –