WCF経由でSilverlightクライアントに送信する必要があるデータ転送オブジェクトがたくさんあるコレクションがあります。私はデフォルトのDataContractSerializerとHTTPSチャンネルを使用しています。WCF - GUIDを効率的に送信する方法(文字列ではない)
ここでは、DTOの1つのタイプの例を示します。
[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
}
サーバー側のドメインエンティティは、GUIDを主キーとして使用します。これらは、36バイトの長さの文字列にシリアル化されます。バイナリ形式のGUIDの長さは16バイトにする必要があります。
DataContractSerializerに、パフォーマンスを向上させるために冗長文字列ではなく、バイナリとしてGUIDをシリアル化する方法がありますか?