共用方式為


啟用 AppFabric 1.1 本機快取

Microsoft AppFabric 1.1 for Windows Server 可讓您以程式設計方式設定快取用戶端,也可以讓您使用應用程式組態檔來設定快取用戶端。下列程序說明如何以程式設計方式在快取用戶端上啟用本機快取。如需有關如何利用應用程式組態檔來執行此動作的詳細資訊,請參閱啟用本機快取 (XML)

下列步驟說明以程式設計方式為快取用戶端啟用本機快取的程序:

  1. 建立 DataCacheLocalCacheProperties 類別的執行個體。透過傳遞適當的值到建構函式的參數,以設定本機快取。這些包括 objectCountdefaultTimeoutinvalidationPolicy

  2. DataCacheLocalCacheProperties 物件傳遞給新 DataCacheFactory 物件的建構函式。

  3. 使用 DataCacheFactory 物件來呼叫 GetCache 方法,以建立使用本機快取的快取用戶端。

警告

這些程序假設您已經準備好開發環境,並已設定對 AppFabric 快取 組件的參考。如需詳細資訊,請參閱準備快取用戶端開發環境 (AppFabric 1.1 快取)

建立已啟用本機快取的快取用戶端

  1. 建立 DataCacheServerEndpoint 物件的陣列,以指定用戶端的快取主機。

  2. 建立 DataCacheLocalCacheProperties 類別的執行個體。透過傳遞適當的值到建構函式的參數,以設定本機快取。

    1. 使用 objectCount 參數來指定本機快取中的物件數目上限。

    2. 使用 defaultTimeout 參數來指定 System.TimeSpan 物件,決定在將物件被判定為無效之前,該物件會維持在本機快取中的時間。

    3. 使用 invalidationPolicy 參數來指定如何將本機快取的物件判定為無效。指定 DataCacheLocalCacheInvalidationPolicy.TimeoutBased 以指出只應使用逾時值。指定 DataCacheLocalCacheInvalidationPolicy.NotificationBased 以指出除了逾時之外,也使用快取通知。如需詳細資訊,請參閱快取用戶端與本機快取 (AppFabric 1.1 快取)

  3. 若選取 DataCacheLocalCacheInvalidationPolicy.NotificationBased 做為無效判定原則,您可以選擇性地控制輪詢間隔,決定快取用戶端與快取叢集通訊以更新本機快取物件通知的頻率。若要這樣做,請建立 DataCacheNotificationProperties 類別的執行個體。透過將適當的值傳遞到建構函式的參數,以設定通知設定。

    1. 使用 PollInterval 參數來指定 System.Timespan 物件,以決定快取用戶端與快取叢集連絡以取得快取通知的頻率間隔。請注意,快取通知不需要本機快取。如需詳細資訊,請參閱快取通知 (AppFabric 1.1 快取)

    2. MaxQueueLength 參數控制通知的佇列長度,但不會特別影響到本機快取。預設值為 10000。

  4. 建立 DataCacheFactoryConfiguration 類別的執行個體。

  5. 透過將快取主機陣列 (您在第一個步驟所建立) 指派給 DataCacheFactoryConfiguration 物件的 Servers 屬性,以設定快取主機。

  6. 透過將 DataCacheLocalCacheProperties 物件 (在第二個步驟所建立) 指派給 DataCacheFactoryConfiguration 物件的 LocalCacheProperties 屬性,以設定本機快取。

  7. 視需要透過將 DataCacheNotificationProperties 物件 (在第三個步驟所建立) 指派給 DataCacheFactoryConfiguration 物件的 NotificationProperties 屬性,以設定通知屬性。

  8. DataCacheFactoryConfiguration 物件傳遞給 DataCacheFactory 類別的建構函式。

  9. 根據 DataCacheFactoryConfiguration 物件的設定,使用 GetCache 方法來取得 DataCache 類別。

注意

若選取 DataCacheLocalCacheInvalidationPolicy.NotificationBased 做為本機快取無效判定原則,必須設定目標快取以啟用通知。如需詳細資訊,請參閱使用 Windows PowerShell 來管理 AppFabric 1.1 快取功能

範例

此範例顯示以程式設計方式設定已啟用本機快取的快取用戶端。設定此用戶端來使用稱為 NamedCache1 的快取,並指向名為 CacheServer2 的快取伺服器。若要在您自己的應用程式中使用此範例,請以您的快取伺服器屬性來取代此範例中的伺服器屬性。針對叢集中其他各個快取主機,將額外的 DataCacheServerEndPoint 物件新增至伺服器陣列。

指定那些已指定為主要主機的快取主機。主要主機通常是在叢集中安裝的第一部快取伺服器。如需有關主要主機的詳細資訊,請參閱 AppFabric 快取功能實體架構圖 (AppFabric 1.1 快取)。您可以使用 Windows PowerShell 管理工具來判斷哪些主機是主要主機。如需有關 Windows PowerShell 的詳細資訊,請參閱使用 Windows PowerShell 來管理 AppFabric 1.1 快取功能。首先,建立伺服器陣列。此範例會設定名為 CacheServer2 的快取主機。

' Declare array for cache host(s).
Dim servers(0) As DataCacheServerEndpoint
servers(0) = New DataCacheServerEndpoint("CacheServer2", 22233)
// Declare array for cache host(s).
DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
servers[0] = new DataCacheServerEndpoint("CacheServer2", 22233);

接著建立 DataCacheLocalCacheProperties 物件。在此範例中,所建立本機快取的物件計數為 10000,而逾時值為 30 秒。

' Set the local cache properties. In this example, it
' is timeout-based with a timeout of 30 seconds.
Dim localCacheConfig As DataCacheLocalCacheProperties
Dim localTimeout As TimeSpan = New TimeSpan(0, 0, 30)

localCacheConfig = New DataCacheLocalCacheProperties(10000, _
   localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased)
// Set the local cache properties. In this example, it
// is timeout-based with a timeout of 30 seconds.
DataCacheLocalCacheProperties localCacheConfig;
TimeSpan localTimeout = new TimeSpan(0, 0, 30);

localCacheConfig = new DataCacheLocalCacheProperties(10000, 
   localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased);

接著建立 DataCacheFactoryConfiguration 物件。將 servers 陣列指派給 Servers 屬性。將 localCacheConfig 物件指派給 LocalCacheProperties 屬性。

' Setup the DataCacheFactory configuration.
Dim factoryConfig As DataCacheFactoryConfiguration
factoryConfig = New DataCacheFactoryConfiguration

factoryConfig.Servers = servers
factoryConfig.LocalCacheProperties = localCacheConfig
// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig = 
   new DataCacheFactoryConfiguration();

factoryConfig.Servers = servers;
factoryConfig.LocalCacheProperties = localCacheConfig;

接著,將 DataCacheFactoryConfiguration 物件傳遞給 DataCacheFactory 類別建構函式,並利用 GetCache 方法來具現化快取用戶端。此範例會針對名為 NamedCache1 的快取建立快取用戶端。

' Create a configured DataCacheFactory object.
Dim mycacheFactory As DataCacheFactory
mycacheFactory = New DataCacheFactory(factoryConfig)

' Get a cache client for the cache "NamedCache1".
Dim myDefaultCache As DataCache
myDefaultCache = mycacheFactory.GetCache("NamedCache1")
// Create a configured DataCacheFactory object.
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);

// Get a cache client for the cache "NamedCache1".
DataCache myDefaultCache = mycacheFactory.GetCache("NamedCache1");

注意

基於效能考量,我們建議您將使用可進行快取的應用程式建立之 DataCacheFactory 物件數目最小化。在變數中儲存 DataCacheFactory 物件,以供使用快取用戶端之應用程式的所有組件使用。

另請參閱

概念

開始使用快取用戶端
變更快取用戶端記錄等級
快取用戶端與本機快取 (AppFabric 1.1 快取)
AppFabric 快取概念 (AppFabric 1.1 快取)
開發快取用戶端

其他資源

使用 XML 來設定快取用戶端

  2012-03-05