方法: ASP.NET の AppFabric 出力キャッシュ プロバイダーの構成 (AppFabric 1.1 キャッシュ)

このトピックでは、プロビジョニングされた AppFabric キャッシュを出力キャッシュ処理に使用するように ASP.NET Web アプリケーションを構成する方法について説明します。構成は、対象 Web アプリケーションの web.config ファイルを変更することによって行います。

出力キャッシュに Microsoft AppFabric 1.1 for Windows Server キャッシュ を使用する

ASP.NET Web アプリケーションで AppFabric 出力キャッシュ プロバイダーを使用するには、アプリケーションの web.config ファイルに次の要素を追加する必要があります。

  • configSections: この要素は構成ファイルで開始の configuration タグの下に最初の要素として指定する必要があります。AppFabric キャッシュ アセンブリを機能させるために必須です。

  • dataCacheClients: この要素は configuration 要素の子です。キャッシュ クライアントの構成およびキャッシュ ホストの指定を行う dataCacheClient 要素を保持するために使用されます。

  • caching: この要素は system.web 要素の子です。Web アプリケーションに対して、出力キャッシュ データの管理に Microsoft AppFabric 1.1 for Windows Server を使用する必要があると指定する outputCache 要素が含まれます。cacheName 属性では、使用される名前付きキャッシュを指定します。dataCacheClientName 属性には、キャッシュ構成に使用する dataCacheClient セクションを指定します。

警告

キャッシュ ホストの名前の指定に使用する web.config ファイルは、セキュリティで保護することをお勧めします。

出力キャッシュに Microsoft AppFabric 1.1 for Windows Server を使用するには

  1. 最初に、Microsoft AppFabric 1.1 for Windows Server キャッシュを使用するように Visual Studio 2010 プロジェクトを準備します。詳細については、「キャッシュ クライアント開発環境の準備 (AppFabric 1.1 キャッシュ)」を参照してください。

  2. 通常のキャッシュ アセンブリに加え、Microsoft AppFabric 1.1 for Windows Server キャッシュ インストール パスで Microsoft.Web.DistributedCache.dll アセンブリも参照します。

  3. この手順の後にある例から configSections 要素を web.config ファイルにコピーします。この要素が configuration タグ内の最初の要素であることを確認します。

  4. この手順の後にある例から dataCacheClients 要素を web.config ファイルにコピーします。この要素は configuration 要素内で configSections 要素の後に追加します。

    1. ホスト要素の name 属性と cachePort 属性を構成し、使用環境のキャッシュ サーバーに一致させます。必要に応じてホスト要素の追加や削除を行います。
  5. この手順の後にある例から caching 要素を web.config ファイルにコピーします。この要素は system.web 要素内に配置します。cacheName 属性および dataCacheClientName 属性と、その他の必要な設定を指定します。

  6. Web アプリケーションの ID を特定します。これは、Web サーバーで IIS Manager を使用して行うことができます。Web アプリケーションに関連付けられているアプリケーション プールの ID を確認します。Grant-CacheAllowedClientAccount Windows Powershell コマンドを使用して、キャッシュ クラスターへのこのユーザー アクセスを許可します。

    ヒント

    アプリケーション プールが "NT Authority\Network Service" などの組み込みコンピューター アカウントとして実行している場合は、そのコンピューターに対してキャッシュ クラスターへのアクセスを許可する必要があります。これを行うには、DOMAINNAME\MACHINENAME$ をアカウントとして指定します。これがコンピューター アカウントであることを示すため、コンピューター名に "$" を付加することに注意してください。

この例では、default という分散キャッシュに出力キャッシュ データを格納するように ASP.NET Web アプリケーションを設定する方法について説明します。この例のキャッシュ クライアントは、CacheServer1 という名前の 1 つのキャッシュ ホストとのみ通信するように構成されています。

  1. 最初に、configuration 要素の最初の要素として configSections 要素を web.config ファイルに追加します。

      <!--configSections must be the FIRST element -->
      <configSections>
        <section name="dataCacheClients"
                 type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
                 allowLocation="true" allowDefinition="Everywhere"/>
      </configSections>
    
  2. 次に、1 つまたは複数の dataCacheClient 要素を含む 1 つの dataCacheClients 要素を追加します。これを web.config ファイルの configSections 要素の後に追加します。ここで、キャッシュ クライアントがアプリケーションのニーズを満たすように構成します。詳細については、「アプリケーション構成設定 (AppFabric 1.1 キャッシュ)」を参照してください。

      <dataCacheClients>
        <dataCacheClient name="default">
          <hosts>
            <host name="CacheServer1" cachePort="22233" />
          </hosts>
        </dataCacheClient>
      </dataCacheClients>
    
  3. configSections 要素と dataCacheClients 要素を追加した後、web.config ファイルで system.web 要素内に caching 要素を追加します。ここで、Web アプリケーションで出力キャッシュ データの保存に使用するキャッシュを指定します。cacheName 属性および dataCacheClientName 属性と他の必要な設定をカスタマイズします。

        <caching>
          <outputCache defaultProvider="DistributedCache">
            <providers>
              <add name="DistributedCache"
                   type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
                   cacheName="default"
                   dataCacheClientName="default" />
            </providers>
          </outputCache>
        </caching>
    

完了すると、Web アプリケーションの最終的な web.config ファイルは次の例のようになります。

<?xml version="1.0"?>

<configuration>
  <configSections>
    <section name="dataCacheClients"
             type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
             allowLocation="true" allowDefinition="Everywhere"/>
  </configSections>

  <dataCacheClients>
    <dataCacheClient name="default" channelOpenTimeout="10000">
      <hosts>
        <host name="CacheServer1" cachePort="22233" />
      </hosts>
    </dataCacheClient>
  </dataCacheClients>
  
  <system.web>
    <caching>
      <outputCache defaultProvider="DistributedCache">
        <providers>
          <add name="DistributedCache"
               type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
               cacheName="default"
               dataCacheClientName="default" />
        </providers>
      </outputCache>
    </caching>
  </system.web>
</configuration>

関連項目

概念

出力キャッシュ プロバイダー (AppFabric 1.1 キャッシュ)

  2012-03-05