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 |
---|---|
Una stringa che descrive l'errore. |
|
Un valore intero che corrisponde a una costante di codice di errore nella classe DataCacheErrorCode. |
|
Un valore intero che corrisponde a una costante di sottostato nella classe DataCacheErrorSubStatus. |
|
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