Настройка времени ожидания клиента кэша (кэширование в Windows Server AppFabric)

Компоненты кэширования Windows Server AppFabric позволяют настраивать продолжительность времени ожидания клиента кэша. Теперь можно настраивать, как долго следует ожидать ответ кластера кэша. В этом разделе рассматриваются два типа истечения времени ожидания: истечение времени ожидания открытого канала и истечение времени ожидания запросов.

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

Периоды ожидания, которые здесь рассматриваются, не относятся к первоначальному подключению к кластеру кэша. Это первоначальное подключение происходит при создании нового объекта DataCacheFactory. Во время этого подключения выполняется попытка подключения к кластеру через один или несколько серверов, указанных в свойстве Servers или в элементе hosts файла конфигурации приложения. Любые проблемы сети или кластера, сообщающегося с этими серверами, могут привести к задержке при установке первоначального подключения. Чтобы устранить эту задержку, можно создать объект DataCacheFactory в дополнительном потоке. На основе модели программирования приложение должно иметь возможность функционировать без кэша с использованием исходных данных, пока не будет успешно установлено подключение к кластеру кэша.

ChannelOpenTimeout

Если превышается предел времени ожидания открытого канала, вызывается исключение DataCacheException со значением свойства ErrorCode, равным RetryLater. Параметр конфигурации ChannelOpenTimeout управляет продолжительностью ожидания клиента кэша установки сетевого подключения к серверу. Можно задать для этого времени ожидания значение 0, если все ошибки должны тут же возвращаться клиенту.

Чтобы программно изменить этот параметр, настройте свойство ChannelOpenTimeout объекта DataCacheFactoryConfiguration.

Чтобы управлять этим параметром с помощью файла конфигурации приложения, укажите продолжительность времени ожидания в миллисекундах с помощью атрибута channelOpenTimeout элемента dataCacheClient.

RequestTimeout

Если превышается предел времени ожидания запроса, вызывается исключение DataCacheException со значением свойства ErrorCode, равным Timeout. Параметр конфигурации RequestTimeout управляет тем, как долго клиент кэша будет ожидать получения ответа с сервера после определенного вызова интерфейса API. Например, при вызове метода Get для получения объекта из кэша, время ожидания запроса будет определять, как долго клиент кэша будет ожидать ответа до вызова исключения. В отличие от ChannelOpenTimeout, не следует задавать для параметра RequstTimeout значение 0, так как это приведет к возникновению ошибки истечения времени ожидания при каждом вызове сервера.

Чтобы программно изменить этот параметр, настройте свойство RequestTimeout объекта DataCacheFactoryConfiguration.

Чтобы управлять этим параметром с помощью файла конфигурации приложения, укажите продолжительность времени ожидания в миллисекундах с помощью атрибута requestTimeout элемента dataCacheClient.

См. также

Основные понятия

Общие сведения об обработке исключений (кэширование в Windows Server AppFabric)
Общие исключения (кэширование в Windows Server AppFabric)

  2011-12-05