Panoramica della gestione delle eccezioni

L'API di memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server genera eccezioni .NET quando si verificano errori. In questo argomento vengono esaminati i concetti di base della gestione degli errori e viene fornito un esempio.

La classe DataCacheException

Un oggetto DataCacheException comune viene generato per errori specifici dei metodi di memorizzazione nella cache di AppFabric. L'oggetto DataCacheException contiene quattro proprietà che facilitano la diagnosi dell'eccezione:

Proprietà DataCacheException Descrizione

Message

Una stringa che descrive l'errore.

ErrorCode

Un valore intero che corrisponde a una costante di codice di errore nella classe DataCacheErrorCode.

SubStatus

Un valore intero che corrisponde a una costante di sottostato nella classe DataCacheErrorSubStatus.

InnerException

Un'istanza di eccezione che ha causato l'eccezione corrente. Questo valore può essere null.

Alcuni errori, ad esempio un timeout, possono verificarsi con qualsiasi metodo del client cache. Il codice dell'applicazione deve essere preparato a gestire tali eccezioni comuni. Per ulteriori informazioni, vedere Eccezioni comuni.

Nota

Alcuni errori non generano un'eccezione. Ad esempio, il metodo Get restituisce un valore null se la chiave non viene trovata. Altri metodi possono restituire un valore booleano per indicare un esito positivo o negativo. Per ulteriori informazioni sui metodi specifici, vedere lo spazio dei nomi Microsoft.ApplicationServer.Caching nella documentazione della libreria di classi di Microsoft AppFabric 1.1 per Windows Server.

Esempio

Nell'esempio seguente viene effettuato il tentativo di inserire un oggetto stringa denominato strObject in un DataCache denominato myCache. Il metodo Put sovraccaricato viene utilizzato per specificare un'area della cache per l'oggetto. Se tale area non esiste ancora nella cache, un oggetto DataCacheException viene generato con il codice di errore RegionDoesNotExist. In questo esempio, questo errore viene gestito creando l'area e ritentando l'operazione di inserimento.

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

Vedere anche

Concetti

Eccezioni comuni
Configurazione dei timeout del client della cache

  2012-03-05