Azure 受管理快取服務的序列化
重要
Microsoft 建議使用 Azure Redis 快取的所有新開發。 如需選擇 Azure 快取供應專案的目前檔和指引,請參閱 哪一個 Azure 快取供應專案適合我?
Microsoft Azure快取支援三種不同的序列化模式。 儲存在快取中的每個項目都必須先序列化成為持續性串流。 從快取擷取的每個項目都必須還原序列化為其物件格式。 本主題描述快取中可用的序列化選項。
序列化類型
下表說明三種序列化類型。
組態設定 | 描述 |
---|---|
NetDataContractSerializer |
使用 NetDataContractSerializer 類別序列化物件。 此為預設值。 |
BinaryFormatter |
使用 BinaryFormatter 類別序列化物件。 |
CustomSerializer |
使用應用程式提供的自訂序列化類別來序列化物件。 |
如果未指定序列化選項,快取會使用 NetDataContractSerializer。 請注意,任何儲存在快取中的類別都必須標示為 可序列化。
在組態檔中,您可以將 serializationProperties 元素指定為 dataCacheClient 元素的子系。 下列範例示範具有兩個具名快取用戶端 的 dataCacheClients 區段。 預設快取用戶端會使用預設序列化,而次要快取用戶端則指定二進位序列化。
<dataCacheClients>
<dataCacheClient name="default">
<!-- Other configuration settings for cache omitted -->
</dataCacheClient>
<dataCacheClient name="binaryConfig">
<serializationProperties serializer="BinaryFormatter" />
<!-- Other configuration settings for cache omitted -->
</dataCacheClient>
</dataCacheClients>
下列範例顯示如何存取程式碼中的各快取用戶端設定。
// "default" cache client configuration, "default" cache:
DataCache cacheTest1 = new DataCache();
cacheTest1.Put("test", "test");
// "binaryConfig" cache client configuration, "default" cache:
DataCache cacheTest2 = new DataCache("default", "binaryConfig");
cacheTest2.Put("test", "test");
自訂序列化需要額外編碼。 如需詳細資訊,請參閱 如何:搭配 Azure In-Role Cache 使用自訂序列化程式。
注意
serializationProperties元素的程式設計對等專案是DataCacheSerializationProperties類別。 此類別的屬性對應於同樣三個序列化類型。 此列舉會指派給 DataCacheFactoryConfiguration.SerializationProperties 屬性。
重要
快取的 ASP.NET 提供者不支援二進位或自訂序列化類型。