viernes, 24 de febrero de 2012

WCF #1

Los DataContract en WCF nos permiten definir el contrato de datos que se usarán en el servicio que estamos desarrollando. Es como una clase que será serializada dentro del mensaje SOAP del servicio.

Dentro de los DataContracts se definen los DataMember, los cuales nos permiten indicar cuales atributos seran serializados dentro del mensaje SOAP.

Ejemplo:

[DataContract(Namespace = "http://schemas.contoso.com/Persona/")]
public class Persona
{
 [DataMember(IsRequired = true, Order = 0)]
 public string Identificacion;
 [DataMember(IsRequired = true, Order = 0)]
 public string Nombre;
 [DataMember(IsRequired = false)]
 public int Edad;
 [DataMember(IsRequired = false)]
 public string Sexo;
 [DataMember(IsRequired = false,Order=1)]
 public string Celular;


 public string Direccion;

}


En este ejemplo se puede mostrar el uso de algunos atributos del DataMember uno muy interesante es el Order, permite definir el orden en el cual apareceran los atributos en el esquema, primero aparecen los que no tienen este atributo ordenados alfabéticamente, luego los que si tienen el orden de menor a mayor, si existen algunos con el mismo número se ordenan en orden alfabético.

Para el ejemplo se mostrarían asi:
Edad
Sexo
Identificacion
Nombre
Celular

Dirección no aparece porque no esta definido como un DataMember