我一直在dev中运行云驱动器快照一段时间没有probs。我现在正试图在Azure中使用它。
我无法为我的生活让它发挥作用。这是我最新的错误:
Microsoft.WindowsAzure.Storage.CloudDriveException: Unknown Error HRESULT=D000000D --->
Microsoft.Window.CloudDrive.Interop.InteropCloudDriveException: Exception of type 'Microsoft.WindowsAzure.CloudDrive.Interop.InteropCloudDriveException' was thrown.
at ThrowIfFailed(UInt32 hr)
at Microsoft.WindowsAzure.CloudDrive.Interop.InteropCloudDrive.Mount(String url, SignatureCallBack sign, String mount, Int32 cacheSize, UInt32 flags)
at Microsoft.WindowsAzure.StorageClient.CloudDrive.Mount(Int32 cacheSize, DriveMountOptions options)
知道造成这种情况的原因是什么?我在Azure中运行了WorkerRole和Storage,因此它与dev模拟环境断开无关。
这是我安装快照的代码:
CloudDrive.InitializeCache(localPath.TrimEnd('\\'), size);
var container = _blobStorage.GetContainerReference(containerName);
var blob = container.GetPageBlobReference(driveName);
CloudDrive cloudDrive = _cloudStorageAccount.CreateCloudDrive(blob.Uri.AbsoluteUri);
string snapshotUri;
try
{
snapshotUri = cloudDrive.Snapshot().AbsoluteUri;
Log.Info("CloudDrive Snapshot = '{0}'", snapshotUri);
}
catch (Exception ex)
{
throw new InvalidCloudDriveException(string.Format(
"An exception has been thrown trying to create the CloudDrive '{0}'. This may be because it doesn't exist.",
cloudDrive.Uri.AbsoluteUri), ex);
}
cloudDrive = _cloudStorageAccount.CreateCloudDrive(snapshotUri);
Log.Info("CloudDrive created: {0}", snapshotUri, cloudDrive);
string driveLetter = cloudDrive.Mount(size, DriveMountOptions.None);
最后的.Mount()方法现在正在失败。
请帮助,因为这让我很难过!
提前致谢。
戴夫
答案 0 :(得分:3)
我昨晚终于开始工作了。我所做的只是创建一个新的容器并上传我的VHD,所以我不确定旧容器是否有奇怪的东西......?想不出来。旧容器的牙齿一定要长一点......!?!
我生命中的两天我永远不会回来。调试实时Azure问题是一个非常繁琐的过程。
令人遗憾的是,Azure CloudDrive开发模拟并没有更接近地复制实时环境。
答案 1 :(得分:1)
D000000D InteropCloudDriveException的一个来源是安装的驱动器(或快照)是可扩展的而不是固定大小。遗憾的是,MSDN文档提供了有关限制的最少信息,但本说明是一个很好的信息来源:
答案 2 :(得分:0)
我可以确认Dave关于BLOB容器的发现(爱你戴夫,我只花了一个晚上)。
在更改BLOB容器之前,我也遇到了调试问题。
我遇到的错误消息是“将调试器附加到IIS工作进程的错误...”。
希望这可以帮助一些可怜的Azure开发人员,使用调试器具有挑战性的时间。