匯出 (0) 列印
全部展開

作法:搭配使用自訂序列化程式與 Azure 快取

更新日期: 2014年9月

note附註
如需為應用程式選擇正確 Azure 快取提供項目的相關指引,請參閱 我適合使用哪個 Azure 快取服務?

Microsoft Azure 快取 在將物件放置到快取之前會先序列化物件,並且會還原序列化從快取中擷取的物件。在內部,序列化是由 NetDataContractSerializer 類別處理。本主題說明如何建立和使用自訂序列化類別,以用於使用 快取 的 應用程式中。

Tip提示
您或許可以透過將已知類型的序列化最佳化,來增加效能優勢。

  1. 準備開發環境來使用 快取。

  2. 建立衍生自 IDataCacheObjectSerializer 的類別。

  3. 在此介面中實作兩個方法:SerializeDeserialize

class MySerializer : IDataCacheObjectSerializer
{
    public object Deserialize(System.IO.Stream stream)
    {
            object returnObject = null;

            // Deserialize the System.IO.Stream 'stream' from
            // the cache and return the object.

            return returnObject;
    }

    public void Serialize(System.IO.Stream stream, object value)
    {
        // Serialize the object 'value' into the System.IO.Stream 'stream'
        // which will then be stored in the cache.
    }
}

  1. 將自訂序列化程式的程式碼新增至專案,或新增實作自訂序列化程式之組件的參照。

  2. 在應用程式組態檔的 dataCacheClient 區段內新增 serializationProperties 元素。

  3. serializationProperties 元素內,將 serializer 屬性指派給 "CustomSerializer"。將 customSerializerType 屬性指派給實作序列化程式的類別。

下列範例示範如何使用應用程式組態檔指定名稱為 MyNamespace.MySerializer 的自訂序列化程式。

<dataCacheClient>
    <serializationProperties serializer="CustomSerializer" 
       customSerializerType="MyNamespace.MySerializer, MyAssembly" />
    <!-- Other dataCacheClient Elements, such as hosts -->
</dataCacheClient>

  1. 將自訂序列化程式的程式碼新增至專案,或新增實作自訂序列化程式之組件的參照。

  2. 使用建構函式指定 DataCacheObjectSerializerType.CustomSerializer 選項和新的序列化程式類別執行個體,以建立 DataCacheSerializationProperties 物件。

  3. 將此物件指派給 DataCacheFactoryConfiguration.SerializationProperties 屬性,然後使用該 DataCacheFactoryConfiguration 物件設定新的 DataCacheFactory

下列範例示範如何使用程式碼指定名稱為 MyNamespace.MySerializer 的自訂序列化程式。

DataCacheFactoryConfiguration configuration = new DataCacheFactoryConfiguration();

configuration.SerializationProperties = 
   new DataCacheSerializationProperties(DataCacheObjectSerializerType.CustomSerializer, 
   new MyNamespace.MySerializer());

// Assign other DataCacheFactoryConfiguration properties...

// Then create a DataCacheFactory with this configuration
DataCacheFactory factory = new DataCacheFactory(configuration);

如果將自訂序列化程式用於快取,則該快取的所有用戶端在存取該快取內的共用物件時,都必須使用相同版本的自訂序列化程式。

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2015 Microsoft