WindowsAzure.StorageClient 1.7からWindowsAzure.Storage 2.0に移行していますが、現在は例外の管理に取り組んでいます。このguideおよび他のソースに続いて、私はWindowsAzure.Storage v2 StorageException
try
{
// Something
}
catch (StorageException e)
{
switch (e.RequestInformation.ExtendedErrorInformation.ErrorCode)
{
case StorageErrorCodeStrings.ContainerNotFound:
case StorageErrorCodeStrings.ResourceNotFound:
case BlobErrorCodeStrings.BlobNotFound:
case StorageErrorCodeStrings.ConditionNotMet:
// Do something
}
}
は、単純なルックスに
try
{
// Something
}
catch (StorageClientException e)
{
switch (e.ErrorCode)
{
case StorageErrorCode.ContainerNotFound:
case StorageErrorCode.ResourceNotFound:
case StorageErrorCode.BlobNotFound:
case StorageErrorCode.ConditionFailed:
// Do something
}
}
から移行しなければならなかったが分かりました。 問題はExtendedErrorInformationが常にnullと等しいことです。代わりに、HttpStatusMessageは '指定されたBLOBは存在しません'と言います。
私はそれがテスト環境のシミュレータに起因すると思っていましたが、実際のAzure環境で試してみると同じ状況になりました。
文書によると、拡張エラー情報はコードlogiに依存してはなりませんc - http://msdn.microsoft.com/en-us/library/windows/desktop/aa375374%28v=vs.85%29.aspx –
@RussCamこのリンクは、ストレージクライアントAPIではなくRPCに関するものと思われます。 – fsimonazzi