Общие сведения об обработке исключений
Интерфейс API кэширования в Microsoft AppFabric 1.1 для Windows Server порождает исключения .NET при возникновении ошибки. В этом разделе содержится обзор основных концепций обработки ошибок с примером.
Класс DataCacheException
Общий объект DataCacheException порождается при ошибках, которые относятся к методам Кэш AppFabric. Объект DataCacheException содержит четыре свойства, которые помогут при нахождении причины возникновения исключения:
Свойство DataCacheException | Описание |
---|---|
Строка, описывающая ошибку. |
|
Целое число, соответствующее константе кода ошибки в классе DataCacheErrorCode. |
|
Целое число, соответствующее константе дополнительного статуса в классе DataCacheErrorSubStatus. |
|
Экземпляр исключения, который привел к вызову текущего исключения. Это значение может быть пустым. |
В результаты работы любых методов клиента кэша могут возникнуть сбои, например истечение времени ожидания. Код приложения должен уметь обрабатывать эти общие исключения. Дополнительные сведения см. в разделе Общие исключения.
Примечание
Некоторые сбои не приводят к вызову исключений. Например, метод 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