このドキュメントはアーカイブされており、メンテナンスされていません。

方法:Azure In-Role Cache でカスタムのシリアライザーを使用する

更新日: 2015年8月

Important重要
新しい開発にはすべて、Azure Redis Cache を使用することをお勧めします。最新の資料と Azure Cache の種類の選択方法については、「Redis Cache のサービス内容と適切なサイズの選択」をご覧ください。

Microsoft Azure Cache は、オブジェクトをキャッシュ内に配置する前にシリアル化を行い、オブジェクトをキャッシュから取得した後、シリアル化を解除します。シリアル化は内部的に、NetDataContractSerializer クラスによって処理されます。このトピックでは、Azure を使用する キャッシュ アプリケーションで使用するカスタム シリアル化クラスの作成と使用方法について説明します。

Tipヒント
既知のタイプのシリアル化を最適化することで、パフォーマンスに関するメリットを潜在的に実現することができます。

  1. まず、キャッシュ を使用するように開発環境を準備します。

  2. IDataCacheObjectSerializer から派生するクラスを作成します。

  3. このインターフェイスに 2 つのメソッドを実装します。SerializeDeserialize

class MySerializer : IDataCacheObjectSerializer
{
    public object Deserialize(System.IO.Stream stream)
    {
            object returnObject = null;

            // Deserialize the System.IO.Stream 'stream' from
            // the cache and return the object.

            return returnObject;
    }

    public void Serialize(System.IO.Stream stream, object value)
    {
        // Serialize the object 'value' into the System.IO.Stream 'stream'
        // which will then be stored in the cache.
    }
}

  1. プロジェクトにカスタム シリアライザー用のコードを追加するか、カスタム シリアライザーを実装するアセンブリへの参照を追加します。

  2. アプリケーション構成ファイルで、serializationProperties セクション内に dataCacheClient 要素を追加します。

  3. serializationProperties 要素内で serializer 属性を "CustomSerializer" に割り当てます。customSerializerType 属性をシリアライザーを実装するクラスに割り当てます。

次の例は、MyNamespace.MySerializer という名前のカスタム シリアライザーを指定するアプリケーション構成ファイルの使用方法を示しています。

<dataCacheClient>
    <serializationProperties serializer="CustomSerializer" 
       customSerializerType="MyNamespace.MySerializer, MyAssembly" />
    <!-- Other dataCacheClient Elements, such as hosts -->
</dataCacheClient>

  1. プロジェクトにカスタム シリアライザー用のコードを追加するか、カスタム シリアライザーを実装するアセンブリへの参照を追加します。

  2. DataCacheSerializationProperties オプションと、シリアライザー クラスの新しいインスタンスを指定するコンストラクターを使用して、DataCacheObjectSerializerType.CustomSerializer オブジェクトを作成します。

  3. このオブジェクトを DataCacheFactoryConfiguration.SerializationProperties プロパティに割り当てて、その DataCacheFactoryConfiguration オブジェクトを使って、新しい DataCacheFactory を構成します。

次の例は、MyNamespace.MySerializer という名前のカスタム シリアライザーを指定するコードの使用方法を示しています。

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);

キャッシュとカスタム シリアライザーを使用する場合、そのキャッシュ内の共有オブジェクトにアクセスする際に、そのキャッシュのすべてのクライアントは同じバージョンのカスタム シリアライザーを使用する必要があります。

表示: