Sto migrando da WindowsAzure.StorageClient 1.7 a WindowsAzure.Storage 2.0 e sto lavorando proprio ora sulla gestione delle eccezioni. A seguito di questa guide e da altre fonti, ho scoperto di avere a migrare daWindowsAzure.Storage v2 StorageException
try
{
// Something
}
catch (StorageClientException e)
{
switch (e.ErrorCode)
{
case StorageErrorCode.ContainerNotFound:
case StorageErrorCode.ResourceNotFound:
case StorageErrorCode.BlobNotFound:
case StorageErrorCode.ConditionFailed:
// Do something
}
}
a
try
{
// Something
}
catch (StorageException e)
{
switch (e.RequestInformation.ExtendedErrorInformation.ErrorCode)
{
case StorageErrorCodeStrings.ContainerNotFound:
case StorageErrorCodeStrings.ResourceNotFound:
case BlobErrorCodeStrings.BlobNotFound:
case StorageErrorCodeStrings.ConditionNotMet:
// Do something
}
}
sembra semplice. Il problema è ExtendedErrorInformation è sempre uguale a null. HttpStatusMessage invece dice "Il blob specificato non esiste.", Come dovrebbe.
Ho pensato che fosse causato dal simulatore dell'ambiente di test, ma provarlo in un ambiente Azure reale mi ha portato alla stessa situazione.
Qualche idea?
In base alla documentazione, non è possibile fare affidamento sull'Extended Error Information per il codice logi c - http://msdn.microsoft.com/en-us/library/windows/desktop/aa375374%28v=vs.85%29.aspx –
@RussCam il collegamento sembra essere relativo a RPC, non all'API del client di archiviazione. – fsimonazzi