Tengo una colección que contiene MUCHOS Objetos de Transferencia de Datos que necesito enviar a un cliente de Silverlight sobre WCF. Estoy usando el DataContractSerializer predeterminado y un canal HTTPS.WCF - Cómo enviar GUID de manera eficiente (no como cadenas)
Aquí hay un ejemplo de un tipo de DTO.
[DataContract(Namespace = Constants.OrgStructureNamespace)]
public class EntityInfo : IExtensibleDataObject
{
[DataMember] public Guid EntityID { get; set; }
[DataMember] public EntityType EntityType { get; set; }
[DataMember] public IList<Guid> EntityVersions { get; set; }
[DataMember] public IList<Guid> OrganisationStructures { get; set; }
#region IExtensibleDataObject Members
...
#endregion
}
Las entidades de dominio en el lado del servidor usan GUID como claves principales. Estos se serializan en cadenas que tienen 36 bytes de longitud. Un GUID en formato binario solo debe tener 16 bytes de longitud.
¿Hay algún truco para hacer que DataContractSerializer serialice mis GUID como binarios en lugar de serializarlos para aumentar el rendimiento?