serialize serializar example deserialize deserializar data and .net wcf datacontract serializer

.net - serializar - WCF DataContracts



wcf datacontract example (1)

Las propiedades de solo lectura están bien siempre que marque el campo (no de solo lectura) como [DataMember], no la propiedad. A diferencia de XmlSerializer, IIRC DataContractSerializer no utiliza el ctor predeterminado: utiliza un mecanismo de reflexión separado para crear instancias no inicializadas. Excepto en el " Olive " de mono (puerto WCF), donde usa el ctor predeterminado (en este momento, o en algún momento del pasado reciente).

Ejemplo:

using System; using System.IO; using System.Runtime.Serialization; [DataContract] class Foo { [DataMember(Name="Bar")] private string bar; public string Bar { get { return bar; } } public Foo(string bar) { this.bar = bar; } } static class Program { static void Main() { DataContractSerializer dcs = new DataContractSerializer(typeof(Foo)); MemoryStream ms = new MemoryStream(); Foo orig = new Foo("abc"); dcs.WriteObject(ms, orig); ms.Position = 0; Foo clone = (Foo)dcs.ReadObject(ms); Console.WriteLine(clone.Bar); } }

Tengo un servicio WCF alojado para clientes internos, tenemos el control de todos los clientes. Por lo tanto, utilizaremos una biblioteca de contratos de datos para negar la necesidad de generación de proxy. Me gustaría usar algunas propiedades de solo lectura y tener algunos datos sin constructores por defecto. Gracias por tu ayuda...