Поделиться через


Общие сведения об обработке исключений

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

Класс DataCacheException

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

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

Message

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

ErrorCode

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

SubStatus

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

InnerException

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

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

Примечание

Некоторые сбои не приводят к вызову исключений. Например, метод Get возвращает пустое значение, если ключ не найден. Другие методы могут возвращать логические значения для указания успешного или неудачного выполнения. Дополнительные сведения об отдельных методах см. в описании пространства имен Microsoft.ApplicationServer.Caching в документации по библиотекам классов Microsoft AppFabric 1.1 для 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");
   }
}

См. также

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

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

  2012-03-05