セッション状態をAzure Cache (プレビュー)に格納するためのカスタム シリアライザーを作成したいので、このカスタム シリアライザーを実装する必要がありますIDataCacheObjectSerializer
(間違っている場合はお知らせください)。System.Data.Linq.EntitySet
このカスタム シリアライザーを作成する必要がある理由は、いくつかの属性を含むいくつかの Linq オブジェクトをシリアル化する必要があるためです。また、デフォルトのシリアライザーNetDataContractSerializer
は、EntitySet
.
私の計画は、を使用してカスタムシリアライザーを作成することですDataContractSerializer
( can serializeについて言及したいくつかの記事を検索したので、間違っている場合はお知らせくださいDataContractSerializer
EntitySet
) が、問題はジェネリック型をサポートできるカスタムシリアライザーを作成する方法です。
現在、カスタムシリアライザーのコードは次のようになっています。
public class CustomSerializer : IDataCacheObjectSerializer
{
public CustomSerializer()
{ }
public object Deserialize(System.IO.Stream stream)
{
/* How can I know the type of object?????? */
DataContractSerializer dcs = new DataContractSerializer("Type of object");
}
public void Serialize(System.IO.Stream stream, object value)
{
DataContractSerializer dcs = new DataContractSerializer(value.GetType());
dcs.WriteObject(stream, value);
}
}
ちなみに、Linqのシリアル化モードを「単方向」に変更しました