AppFabricキャッシュ - すべてのオブジェクトに使用されるシリアル化スタイルを指定できますか?

StackOverflow https://stackoverflow.com/questions/3756480

質問

いくつかのカスタムシリアル化を実装するオブジェクトは、XMLやBYTE []など、さまざまな形式にシリアル化して隔離できます。

キャッシュをかけると、appfabricがバイナリを強制したいときにクラスでixmlserializable実装を実行する問題に遭遇しました。 AppFabricキャッシング - オブジェクトのシリアル化と敏aserializationの要件は何ですか?

これを構成できますか?

(現時点では、回避策は、オブジェクトをプログラムでバイト[]にシリアル化し、それをキャッシュに送信して、途中でプロセスを逆にすることです)。

役に立ちましたか?

解決

MSDNドキュメントでは、この目標を達成するためにIdatacacheObjectSerializerを実装できると述べています。ここで読むことができます: http://msdn.microsoft.com/en-us/library/windowsazure/hh552969.aspx

class MySerializer : IDataCacheObjectSerializer
{
    public object Deserialize(System.IO.Stream stream)
    {
        // Deserialize the System.IO.Stream 'stream' from
        // the cache and return the object 
    }

    public void Serialize(System.IO.Stream stream, object value)
    {
        // Serialize the object 'value' into a System.IO.Stream
        // that can be stored in the cache
    }
}

カスタムシリアイザーをDataCachefactoryに設定できます。

DataCacheFactoryConfiguration configuration = new DataCacheFactoryConfiguration();

configuration.SerializationProperties = 
   new DataCacheSerializationProperties(DataCacheObjectSerializerType.CustomSerializer, 
   new MyNamespace.MySerializer());

// Assign other DataCacheFactoryConfiguration properties...

// Then create a DataCacheFactory with this configuration
DataCacheFactory factory = new DataCacheFactory(configuration);

お役に立てれば。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top