Экспорт (0) Печать
Развернуть все

Инструкции Использование настраиваемого сериализатора с кэшем Azure

Обновлено: Сентябрь 2014 г.

noteПримечание
Руководство по выбору правильного предложения службы кэша Azure см. в разделе Какой кэш Azure подходит мне лучше всего?.

Кэш Microsoft Azure сериализирует объекты перед их размещением в кэше и десериализирует объекты, которые извлекаются из кэша. Внутри сериализация проводится классом NetDataContractSerializer. Данная тема объясняет, как вы можете создать и использовать настраиваемый класс сериализации для использования в приложениях Azure, которые используют службу Кэш.

TipСовет
Вы можете получить преимущества производительности посредством оптимизации сериализации известных типов.

  1. Сначала подготовьте среду разработки для использования службы Кэш.

  2. Создайте класс, производный от IDataCacheObjectSerializer.

  3. Реализуйте два метода в данном интерфейсе: Serialize и Deserialize.

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. В файле конфигурации приложения добавьте элемент serializationProperties в рамках раздела dataCacheClient.

  3. Внутри элемента serializationProperties назначьте атрибут serializer для "CustomSerializer". Назначьте атрибут customSerializerType классу, который реализует сериализатор.

Следующий пример демонстрирует, как использовать файл конфигурации приложения для определения настраиваемого сериализатора с именем MyNamespace.MySerializer.

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

  1. Добавьте в ваш проект код для настраиваемого сериализатора или добавьте ссылку на сборку, которая реализует настраиваемый сериализатор.

  2. Создайте объект DataCacheSerializationProperties, используя конструктор для определения параметра DataCacheObjectSerializerType.CustomSerializer и нового экземпляра класса сериализатора.

  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);

Если настраиваемый сериализатор используется с кэшем, все клиенты этого кэша должны использовать одну и ту же версию настраиваемого сериализатора при доступе к общим объектам внутри этого кэша.

Показ:
© 2014 Microsoft