セッション状態プロバイダー (AppFabric 1.1 キャッシュ)

Microsoft AppFabric 1.1 for Windows Server セッション状態プロバイダーは、ASP.NET アプリケーション用のプロセス分離の格納メカニズムです。このプロバイダーを使用すると、メモリ内のデータベースや SQL Server データベースではなく AppFabric キャッシュにセッションの状態を保存できます。

機能

AppFabric セッション状態プロバイダーは、従来の ASP.NET セッション状態プロバイダーに比べて次のような機能が強化されています。

  • セッション状態をシリアル化するために NetDataContractSerializer クラスを内部的に使用します。

  • セッション状態を 1 つの blob または個別の項目として保存できます。

  • 異なる複数の ASP.NET アプリケーション間でセッション状態を共有できます。

  • 複数のリーダーと単一ライター向けに同じセッション状態セットへの同時アクセスをサポートします。

  • 圧縮に対応しています。

NetDataContractSerializer クラスをシリアル化に使用することで、より広範囲のシリアル化可能な型がサポートされます。これにはバイナリのシリアル化可能な型のサポートも含まれます。

セッション状態プロバイダーは、セッション状態を単一の blob として保存および取得できます。これはプロバイダーで従来使用されていた方法です。同時に、セッション状態を個別のキーと値のペアとして保存する機能もあります。このモードでは、項目が要求されるとキャッシュから項目が取得されます。そのため、セッション状態に含まれる小さいオブジェクトと大きいオブジェクトの組み合わせを処理するときに、パフォーマンスを強化できます。小さいオブジェクトしか必要としないページについては、大きい項目を取得してシリアル化解除する必要がありません。

ヒント

個別のキーと値のペアをセッション状態に保存する機能は、内部設置型の Microsoft AppFabric 1.1 for Windows Server でのみサポートされます。クラウドでは、Windows Azure キャッシュ に類似のセッション状態プロバイダーがありますが、現時点ではこの機能をサポートしていません。

プロバイダーは、異なる複数の ASP.NET アプリケーションで同一のセッション状態データを読み書きする機能をサポートしています。たとえば、開発者が /contoso および /adventureworks という 2 つの異なる ASP.NET サイトを使用しているとします。各 Web アプリケーションで、キャッシュ クラスター内の同じセッション状態ストアをポイントするようにセッション状態プロバイダーを構成することができます。その結果、指定されたすべてのセッション ID に対して両方のアプリケーションが同じセッション データを読み書きするようになります。

セッション状態プロバイダーは、複数のリーダーと単一ライター向けに同じセッション状態セットへの同時アクセスをサポートします。この場合、リーダーは、ReadOnly セッション状態を使用するとマークされているページとして定義されます。AJAX のコールバックを広範囲に使用するアプリケーションでは、アプリケーションのセッション状態アクセス パターンの大部分がセッション状態への読み取り専用アクセスしか必要としない場合、サーバー側での要求キュー処理は発生しません。

圧縮は Microsoft AppFabric 1.1 for Windows Server キャッシュの機能です。構成ファイルで、dataCacheClient 要素に isCompressionEnabled 属性を指定してキャッシュを有効にすることができます。次の例は、圧縮が有効になっている default という名前の dataCacheClient を示しています。

    <dataCacheClient name="default" isCompressionEnabled="true">
      <hosts>
        <host name="CacheServer1" cachePort="22233" />
        <host name="CacheServer2" cachePort="22233" />
      </hosts>
    </dataCacheClient>

重要

圧縮を有効にする場合は、最新の Microsoft AppFabric 1.1 for Windows Server SDK を使用するようにすべてのキャッシュ クライアントを更新する必要があります。

このセクションの内容

関連項目

概念

AppFabric 1.1 用の ASP.NET 4 キャッシュ プロバイダーの使用

  2012-03-05