共用方式為


工作階段狀態提供者 (AppFabric 1.1 快取)

Microsoft AppFabric 1.1 for Windows Server 工作階段狀態提供者是適用於 ASP.NET 應用程式的跨處理序儲存機制。此提供者可讓您在 AppFabric 快取中儲存工作階段狀態,而非在記憶體中或 SQL Server 資料庫中儲存。

功能

AppFabric 工作階段狀態提供者針對以前的 ASP.NET 工作階段狀態提供者做了以下改善:

  • 針對工作階段狀態序列化內部使用 NetDataContractSerializer 類別。

  • 可以單一項目 (blob) 或個別項目 (item) 的形式儲存工作階段狀態。

  • 可在不同 ASP.NET 應用程式間共用工作階段狀態。

  • 支援同時存取多個讀取器和單一寫入器的相同工作階段狀態集。

  • 可以使用壓縮功能。

使用 NetDataContractSerializer 類別進行序列化可以支援更為廣泛的可序列化型別。包括支援二進位檔可序列化型別。

工作階段狀態提供者可以單一項目 (blob) 的形式儲存和擷取工作階段狀態,這是提供者在以前會使用的技巧。不過,提供者也可以個別金鑰/值配對的形式儲存工作階段狀態。在此模式下,會在要求時從快取擷取項目 (item)。在工作階段狀態中混合使用大小不一的物件時,這種方式可以提高效能。只需要小型物件的頁面將不必擷取並還原序列化大型項目 (item)。

注意

在工作階段狀態中儲存個別金鑰/值配對的功能只在使用 Microsoft AppFabric 1.1 for Windows Server 內部部署時支援。在雲端,Windows Azure 快取 有類似的工作階段狀態提供者,但目前並不支援此功能。

提供者可支援讓不同 ASP.NET 應用程式讀取及寫入相同的工作階段狀態資料。例如,假設有個提供者有兩個不同的 ASP.NET 網站:/contoso 和 /adventureworks。可以在每個 Web 應用程式中設定工作階段狀態提供者,使其指向快取叢集中相同的工作階段狀態存放區。因此,對於任何給定的工作階段識別碼,這兩個應用程式都會讀取和寫入相同的工作階段資料。

工作階段狀態提供者支援同時存取多個讀取器和單一寫入器的相同工作階段狀態集。此案例中的讀取器會定義為標示使用 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