Windows Azure DriveでERROR_UNSUPPORTED_OSが発生する

SDK 1.3で、CloudDrive.InitializeCache() とCloudDrive.Mount() が、たまにERROR_UNSUPPORTED_OSで失敗するとの報告を受けました。
Azure CloudDrive サービスのOSが起動する前に、CloudDrive API を呼び出した時に、このエラーが発生します。旧バージョンのSDKでは、アプリケーションの開始が遅かったので、Azure CloudDrive サービスが起動しきった後に、起動していました。

この問題は将来バージョンで修正する予定です。修正するまでは、CloudDrive API を呼び出したときに、問題が発生した場合は、リトライすることを推奨します。CloudDrive.InitializeCache()を以下のサンプルコードのようにリトライします。
CloudDrive.CreateやCloudDrive.Mount、CloudDrive.GetMountedDrivesを含むCloudDrive APIsを最初に呼び出したときに、ループを回すようにします。

For (int i = 0; i < 30; i++)
{
       try
       {
           CloudDrive.InitializeCache(localCache.RootPath,localCache.MaximumSizeInMegabytes);
           break;
       }
       catch (CloudDriveException ex)
       {
           if (!ex.Message.Equals("ERROR_UNSUPPORTED_OS") || i == 29)
                 throw;
           Thread.Sleep(10000);
       }
}
  • このエントリーをはてなブックマークに追加

Page optimized by WP Minify WordPress Plugin