Personalizar DataMember de DataContract

Filed Under (.Net) by admin on 22-06-2010

Tagged Under : ,

Os pongo un ejemplo, ya que en ocasiones lo que se quieres es cambiar el nombre por ejemplo de la columna que queremos formar a partir de los datos enviados. Pues bien es tan facil como “reescribir el atributo Name”

[DataContract(Name="status")]

public class StatusData

{

    private string _name;

    private string _errorDescription = null;
    [DataMember(Name = "name1", Order = 0, EmitDefaultValue=false)]

    public string Name

    {

        get { return _name; }

        set { _name = value; }

    }
    [DataMember(Name = "error", Order = 1, EmitDefaultValue=false)]

    public string Description

    {

        get{ return _errorDescription ;}

        set {_errorDescription =value ;}

    }

...

}

Problemas con las llamadas AJAX.NET en JSON: {“d”:{“__type”:”

Filed Under (.Net) by admin on 09-06-2010

Tagged Under : , ,

Parece ser que por defecto cuando incluimos una llamada AJAX.NET con un servicio y la serializamos en formato JSON, nos devuelve unos datos que no queremos: {“d”:{“__type”:”

Esto es porque puede haber un desbarajuste entre los tipos de datos de JavaScript y .NET y de esta forma se cura en salud….

Estos datos nos pueden producir problemas por ejemplo si tenemos una estructura de tabla (en mi caso un dataTable con YUI y el Datasource viene con un esquema bien definido. )

Pues bien esto se soluciona haciendo un pequeño ajuste en el webconfig:

  1. Configuramos el behaviour como webHttp y no como enableWebScript (sería como por defecto con {“d”:{“__type”:”)
  2. Y registramos el servicio: