匯出 (0) 列印
全部展開

作法:設定 Azure 受管理快取服務的快取用戶端

更新日期: 2010年7月

note附註
如需為應用程式選擇正確 Azure 快取提供項目的相關指引,請參閱 Azure 快取常見問題集

受管理的快取服務 可輕鬆設定快取用戶端,方法是提供 NuGet 封裝來新增必要的組件參照和設定。快取 NuGet 封裝也會提供 web.config 註解的區段,讓 Web 專案啟用快取工作階段狀態和頁面輸出快取提供者。本主題提供使用快取 NuGet 封裝來設定快取用戶端的逐步解說。

設定 受管理的快取服務 用戶端應用程式十分簡單。受管理的快取服務 提供 NuGet 封裝來新增必要的設定和組件參考,讓快取用戶端可存取快取。

note附註
受管理的快取服務 支援 網站、雲端服務以及虛擬機器用戶端應用程式。這些不同的用戶端應用程式類型的設定步驟十分相似,僅有些微的不同。快取 NuGet 封裝是用來自動處理大部分的不同之處,而這些相異點會在本主題中充分說明。關於相異處的摘要,請參閱Cache Service Client Application Types

若您建立了雲端服務應用程式,請下載最新的 Azure SDK,目前版本為 SDK 2.1。若您建立了 Azure 網站或虛擬機器用戶端應用程式,快取 Cache NuGet 封裝會安裝您開始使用所需的一切項目。

Important重要事項
這些步驟需要最新的 NuGet 封裝管理員 (版本 2.6.40627.9000 或更高)。若要安裝最新的 NuGet 封裝管理員,請參閱 NuGet 封裝管理員

若要使用 受管理的快取服務 NuGet 封裝,請在 [方案總管] 中的用戶端按一下滑鼠右鍵,接著選擇 [管理 NuGet 封裝]。

選取 [Azure Caching],並依序按一下 [安裝] 與 [我接受]。當封裝安裝到用戶端專案後,按一下 [關閉] 即可關閉 [管理 NuGet 封裝] 視窗。

note附註
如果 [Azure Caching] 未出現在清單中,請在 [線上搜尋] 文字方塊中輸入 WindowsAzure.Caching

Windows Azure 快取 NuGet 封裝

當 受管理的快取服務 NuGet 封裝安裝到用戶端專案時,它會新增必要的設定和組件參考,讓用戶端應用程式可存取所需的快取。

在快取專案的 web.configapp.config 中會新增數個項目。

  1. 會新增兩個區段到 configSections,名為 dataCacheClientscacheDiagnostics

    <!-- 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. 新增至 configuration 區段的 dataCacheClients 區段。

    <!-- 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>
    
    以在管理入口網站的快取儀表板中顯示的端點 URL 取代 [Cache role name or Service Endpoint]

    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。以下範例是層級 1 的 ClientDiagnosticLevelServiceConfiguration.cscfg 檔案的 WebRole1 區段,該層級為預設 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 受管理快取服務的 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 快取 工作階段狀態提供者是適用於 ASP.NET 應用程式的跨處理序儲存機制。此提供者可讓您在 快取中儲存工作階段狀態,而非在記憶體中或 SQL Server 資料庫中儲存。當您使用快取 NuGet 封裝啟用快取時,會新增註解區段以啟用快取工作階段狀態提供者。

  1. 首先,設定與 ASP.NET 提供者搭配使用的快取,如先前 使用快取 NuGet 封裝來設定 Cache Client 一節所述。

  2. 移除設定工作階段狀態快取的任何現有的 sessionState 元素。請勿移除由 NuGe 封裝新增的已註解 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 受管理快取服務的快取用戶端組態設定。請注意 快取 的 ASP.NET 提供者不支援二進位或自訂序列化類型。如果這些序列化程式用於工作階段狀態,則會發生下列例外狀況:"組件 'Microsoft.Web.DistributedCache、版本=101.0.0.0、文化特性=中性、PublicKeyToken=31bf3856ad364e35' 中的類型 'Microsoft.Web.DistributedCache.SerializableSessionStateStoreData' 並未標示為可序列化

  • 變更工作階段狀態提供者設定。如需可用組態選項的清單,請參閱 適用於 Azure 受管理快取服務的 ASP.NET 工作階段狀態提供者組態設定

Microsoft Azure 快取 輸出快取提供者是適用於輸出快取資料的跨處理序儲存機制。此資料專門用於完整 HTTP 回應 (頁面輸出快取)。提供者插入新輸出快取提供者延伸點 (在 ASP.NET 4 中介紹)。當您使用快取 NuGet 封裝來啟用快取時,會新增註解區段以啟用快取頁面輸出提供者。

  1. 首先,設定與 ASP.NET 提供者搭配使用的快取,如先前 使用快取 NuGet 封裝來設定 Cache Client 一節所述。

  2. 使用 NuGet 來新增 快取 支援至 Visual Studio 中的 ASP.NET 專案。如需相關指示,請參閱<Prepare Visual Studio for Azure Cache Service Client Application Development>。

    Important重要事項
    這些步驟需要最新的 NuGet 封裝管理員 (版本 2.6.40627.9000 或更高)。若要安裝最新的 NuGet 封裝管理員,請參閱 NuGet 封裝管理員

  3. 移除設定輸出快取的任何現有的 caching 元素。請勿移除由 NuGe 封裝新增的已註解 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 受管理快取服務的快取用戶端組態設定。請注意 快取 的 ASP.NET 提供者不支援二進位或自訂序列化類型。

  • 變更輸出快取提供者設定。如需可用組態選項的清單,請參閱 適用於 Azure 受管理的快取服務的 ASP.NET 頁面輸出快取提供者組態設定

顯示:
© 2014 Microsoft