セールス: 1-800-867-1380

方法: Azure Managed Cache Service 用にキャッシュ クライアントを構成する

更新日: 2010年7月

noteメモ
アプリケーションに対して適切な Azure Cache サービスを選択するためのガイダンスについては、「どの Azure Cache を利用すればよいですか。」を参照してください。

マネージ キャッシュ サービス は、必要なアセンブリの参照と構成を追加する NuGet パッケージを用意し、キャッシュ クライアントの構成を簡単にしています。また、Caching NuGet パッケージは、Web プロジェクトの web.config にコメントアウトしたセクションも用意しています。このセクションで、キャッシュ セッション状態およびページ出力キャッシュ プロバイダーを有効にすることができます。このトピックでは、Caching NuGet パッケージを使用してキャッシュ クライアントを構成する場合のチュートリアルを示します。

マネージ キャッシュ サービス クライアント アプリケーションの構成は簡単です。マネージ キャッシュ サービス が提供する NuGet パッケージを使用して、必要な構成とアセンブリの参照を追加すると、キャッシュ クライアントがキャッシュにアクセスできるようになります。

noteメモ
マネージ キャッシュ サービス は、 Web サイト、クラウド サービス、仮想マシン クライアント アプリケーションをサポートしています。これらの異なるクライアント アプリケーションの構成手順は、細かい違いはありますが、よく似ています。提供されている Cache NuGet パッケージは、このような違いの多くを自動的に処理します。この違いについては、このトピックのさまざまな部分で説明します。違いの概要については、「Cache Service Client Application Types」を参照してください。

クラウド サービス アプリケーションを作成する場合、最新の Azure SDK (最新版は SDK 2.1) をダウンロードしてください。Azure Web Sites または仮想マシン クライアント アプリケーションを作成する場合、作成に必要なすべてが Caching NuGet パッケージによって自動的にインストールされます。

Important重要
これらの手順を実行するには、最新の NuGet Package Manager (Version 2.6.40627.9000 以降) が必要です。最新の NuGet Package Manager をインストールするには、「NuGet パッケージ マネージャー」を参照してください。

マネージ キャッシュ サービス NuGet パッケージを使用するには、ソリューション エクスプローラーでクライアント プロジェクトを右クリックし、[NuGet パッケージの管理] をクリックします。

[Azure Caching] を選択し、[インストール] をクリックし、[同意する] をクリックします。パッケージがクライアント プロジェクトにインストールされたら、[閉じる] をクリックして [NuGet パッケージの管理] ウィンドウを閉じます。

noteメモ
一覧に [Azure Caching] が表示されない場合は、[オンラインで検索] ボックスに「WindowsAzure.Caching」と入力します。

Windows Azure キャッシュ NuGet パッケージ

マネージ キャッシュ サービス NuGet パッケージは、クライアント プロジェクトにインストールされると、クライアント アプリケーションがキャッシュにアクセスできるように、必要な構成およびアセンブリ参照を追加します。

クライアント プロジェクトの web.config または app.config に、いくつかのアイテムが追加されます。

  1. configSectionsdataCacheClientscacheDiagnostics という 2 つのセクションが追加されます。

    <!-- Non-cache sections omitted for space -->
      <configSections>
        <section name="dataCacheClients" 
            type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
    
        <section name="cacheDiagnostics" 
            type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" 
            allowLocation="true" 
            allowDefinition="Everywhere" />
      </configSections>
    
  2. dataCacheClients セクションが configuration セクションに追加されます。

    <!-- Non-cache sections omitted for space -->
      <dataCacheClients>
        <dataCacheClient name="default">
          <!--To use the in-role flavor of Azure Caching, set identifier to be the cache cluster role name -->
          <!--To use the Azure Caching Service, set identifier to be the endpoint of the cache cluster -->
          <autoDiscover
            isEnabled="true" 
            identifier="[Cache role name or Service Endpoint]" />
          <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
          <!--Use this section to specify security settings for connecting to your cache. 
              This section is not required if your cache is hosted on a role that is a part 
              of your cloud service. -->
          <!--<securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="[Authentication Key]" />
          </securityProperties>-->
        </dataCacheClient>
      </dataCacheClients>
    
    [Cache role name or Service Endpoint] を管理ポータルのキャッシュ ダッシュボードに表示されるエンドポイント URL に置き換えます。

    Windows Azure キャッシュ サービス用エンドポイント URL
    この例では、キャッシュの名前は applicationcache、エンドポイント URL は applicationcache.cache.windows.net です。

    <autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
    
    securityProperties セクションをコメント解除し、[Authentication Key] を認証キーで置き換えます。

    <!--Use this section to specify security settings for connecting to your cache. 
        This section is not required if your cache is hosted on a role that is a part 
        of your cloud service. -->
    <!--<securityProperties mode="Message" sslEnabled="false">
      <messageSecurity authorizationInfo="[Authentication Key]" />
    </securityProperties>-->
    
    
    認証キーを見つけるには、管理ポータルでキャッシュ ダッシュボードの [アクセス キー] をクリックします。

    Windows Azure キャッシュ サービス用のアクセス キーの管理
    Warning警告
    これらの設定を正しく構成しないと、クライアントはキャッシュにアクセスできません。

クラウド サービス プロジェクトの場合は、マネージ キャッシュ サービス NuGet パッケージをインストールすると、ClientDiagnosticLevel 設定も ServiceConfiguration.cscfg 内のキャッシュ クライアント ロールの ConfigurationSettings に追加されます。次の例は、ServiceConfiguration.cscfg ファイルの WebRole1 セクションであり、ClientDiagnosticLevel は 1 です。これは既定の ClientDiagnosticLevel です。

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for space... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>
noteメモ
キャッシュ診断レベル詳細情報、「Azure Managed Cache Service の ClientDiagnosticLevel について」を参照してください。

必要な構成の追加に加えて、マネージ キャッシュ サービス NuGet パッケージは以下のアセンブリ参照も追加します。

  • Microsoft.ApplicationServer.Caching.Client.dll

  • Microsoft.ApplicationServer.Caching.Core.dll

  • Microsoft.ApplicationServer.Caching.AzureCommon.dll

  • Microsoft.ApplicationServer.Caching.AzureClientHelper.dll

  • Microsoft.WindowsFabric.Common.dll

  • Microsoft.WindowsFabric.Data.Common.dll

プロジェクトが Web プロジェクトである場合は、次のアセンブリ参照も追加されます。

  • Microsoft.Web.DistributedCache.dll

Microsoft Azure Cache セッション状態プロバイダーは、ASP.NET アプリケーション用のプロセス分離の格納メカニズムです。このプロバイダーを使用すると、メモリ内のデータベースや SQL Server データベースではなくキャッシュにセッションの状態を保存できます。有効にしたキャッシュに対して Caching NuGet パッケージを使用する場合、コメントアウトされたセクションを追加してキャッシュ セッション状態プロバイダーを有効にします。

  1. まず、前の「Caching NuGet パッケージを使用してキャッシュ クライアントを構成する」セクションに記載されているように、ASP.NET プロバイダーで使用するキャッシュを構成します。

  2. セッション状態のキャッシュを構成する既存の sessionState 要素があれば削除します。NuGet パッケージによって追加された、コメント化された sessionState セクションは削除しないでください。

  3. web.config ファイルで、sessionState セクションをコメント解除します。

    <!-- Azure Caching session state provider -->
    <!--<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
      <providers>
        <add name="AFCacheSessionStateProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" applicationName="AFCacheSessionState"/>
      </providers>
    </sessionState>-->
    
    

次の一覧は、セッション状態プロバイダーに影響するオプションの構成変更を示しています。

  • add 要素の cacheName 属性を使用して、ターゲットの名前付きキャッシュを変更します。

  • add 要素の dataCacheClientName 属性を使用して、キャッシュ クライアント設定のソースを変更します。web.config ファイルで、この属性を既存の dataCacheClient セクションの名前に設定します。

  • 関連付けられた dataCacheClient セクションの設定を変更して、キャッシュ クライアントの動作を変更します。たとえば、isCompressionEnabled 属性で圧縮を有効にします。

    <dataCacheClient name="default" isCompressionEnabled="true">
      <!-- Other cache settings omitted -->
    </dataCacheClient>
    
    使用できる構成オプションの一覧については、「Azure Managed Cache Service のキャッシュ クライアントの構成設定」を参照してください。キャッシュ 用の ASP.NET プロバイダーは、シリアル化の種類としてバイナリまたはカスタムをサポートしていないことに注意してください。これらのシリアライザーがセッション状態に対して使用されている場合、次の例外が発生します。"アセンブリ 'Microsoft.Web.DistributedCache, Version=101.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' の型 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' はシリアル化可能としてマークされていません。"

  • セッション状態プロバイダーの設定を変更します。使用できる構成オプションの一覧については、「Azure Managed Cache Service の ASP.NET セッション状態プロバイダーの構成設定」を参照してください。

Microsoft Azure Cache 出力キャッシュ プロバイダーは、出力キャッシュ データ用のプロセス外ストレージ メカニズムです。このデータは特に HTTP 応答に関するものです (ページ出力キャッシュ)。プロバイダーは、ASP.NET 4 で導入された新しい出力キャッシュ プロバイダーの機能拡張ポイントに接続します。有効にしたキャッシュに対して Caching NuGet パッケージを使用すると、ページ出力キャッシュ プロバイダーを有効にするコメントアウトされたセクションが追加されます。

  1. まず、前の「Caching NuGet パッケージを使用してキャッシュ クライアントを構成する」セクションに記載されているように、ASP.NET プロバイダーで使用するキャッシュを構成します。

  2. Visual Studio で、NuGet を使用して ASP.NET プロジェクトに キャッシュ サポートを追加します。手順については、「Prepare Visual Studio for Azure Cache Service Client Application Development」を参照してください。

    Important重要
    これらの手順を実行するには、最新の NuGet Package Manager (Version 2.6.40627.9000 以降) が必要です。最新の NuGet Package Manager をインストールするには、「NuGet パッケージ マネージャー」を参照してください。

  3. 出力キャッシュを構成する既存の caching 要素があれば、それを削除します。NuGet パッケージによって追加された、コメント化された caching セクションは削除しないでください。

  4. web.config ファイルで、caching セクションをコメント解除します。

        <!-- Azure Caching output caching provider -->
        <!--Uncomment this section to use Azure Caching for output caching-->
        <!--<caching>
          <outputCache defaultProvider="AFCacheOutputCacheProvider">
            <providers>
              <add name="AFCacheOutputCacheProvider" 
                type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
                cacheName="default"
                dataCacheClientName="default"
                applicationName="AFCacheOutputCache" />
            </providers>
          </outputCache>
        </caching>-->
    

次の一覧に、出力キャッシュプロバイダーに影響を与えるオプションの設定変更を示します。

  • add 要素の cacheName 属性を使用して、ターゲットの名前付きキャッシュを変更します。

  • add 要素の dataCacheClientName 属性を使用して、キャッシュ クライアント設定のソースを変更します。web.config ファイルで、この属性を既存の dataCacheClient セクションの名前に設定します。

  • 関連付けられた dataCacheClient セクションの設定を変更して、キャッシュ クライアントの動作を変更します。たとえば、isCompressionEnabled 属性で圧縮を有効にします。

    <dataCacheClient name="default" isCompressionEnabled="true">
    
    使用できる構成オプションの一覧については、「Azure Managed Cache Service のキャッシュ クライアントの構成設定」を参照してください。キャッシュ 用の ASP.NET プロバイダーは、シリアル化の種類としてバイナリまたはカスタムをサポートしていないことに注意してください。

  • 出力キャッシュプロバイダーの設定を変更します。使用できる構成オプションの一覧については、「Azure Managed Cache Service の ASP.NET ページ出力キャッシュ プロバイダー構成設定」を参照してください。

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft