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

Интерфейс API кэширования в Windows Server AppFabric вызывает исключения .NET при возникновении ошибки. В этом разделе содержится обзор основных концепций обработки ошибок с примером.

Класс DataCacheException

Общий объект DataCacheException вызывается при ошибках, которые относятся к методам кэширования AppFabric. Объект DataCacheException содержит четыре свойства, которые помогут при нахождении причины возникновения исключения:

Свойство DataCacheException Описание

Message

Строка, описывающая ошибку.

ErrorCode

Целое число, соответствующее константе кода ошибки в классе DataCacheErrorCode.

SubStatus

Целое число, соответствующее константе дополнительного статуса в классе DataCacheErrorSubStatus.

InnerException

Экземпляр исключения, который привел к вызову текущего исключения. Это значение может быть пустым.

В результаты работы любых методов клиента кэша могут возникнуть сбои, например истечение времени ожидания. Код приложения должен уметь обрабатывать эти общие исключения. Дополнительные сведения см. в разделе Общие исключения (кэширование в Windows Server AppFabric).

Примечание

Некоторые сбои не приводят к вызову исключений. Например, метод Get возвращает пустое значение, если ключ не найден. Другие методы могут возвращать логические значения для указания успешного или неудачного выполнения. Дополнительные сведения об определенных методах см. пространство имен Microsoft.ApplicationServer.Caching в документации по библиотекам классов AppFabric в Windows Server.

Пример

В следующем примере выполняется попытка размещения строкового объекта с именем strObject в кэше DataCache с именем myCache. Перегруженный метод Put используется для указания области в кэше для этого объекта. Если эта область еще не существует в кэше, порождается исключение в виде объекта DataCacheException с кодом ошибки RegionDoesNotExist. В этом примере ошибка обрабатывается посредством создания области и повторения операции размещения.

Dim strKey As String = "key0"
Dim strObject As String = "Source String"

Try
   ' Put a string object into the cache region, "Region1"
   myCache.Put(strKey, strObject, "Region1")

Catch cacheError As DataCacheException
   ' Look at the ErrorCode property to see if the Region is missing
   If (cacheError.ErrorCode = DataCacheErrorCode.RegionDoesNotExist) Then

      ' Create the Region and retry the Put call
      myCache.CreateRegion("Region1")
      myCache.Put(strKey, strObject, "Region1")
   End If
End Try
string strKey = "key0";
string strObject = "Source String";

try
{
   // Put a string object into the cache region, "Region1"
   myCache.Put(strKey, strObject, "Region1");
}
catch (DataCacheException cacheError)
{
   // Look at the ErrorCode property to see if the Region is missing
   if (cacheError.ErrorCode == DataCacheErrorCode.RegionDoesNotExist)
   {
      // Create the Region and retry the Put call
      myCache.CreateRegion("Region1");
      myCache.Put(strKey, strObject, "Region1");
   }
}

См. также

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

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

  2011-12-05