2013-02-19 95 views
0

我无法使用运行存储/计算模拟器的本地托管服务获取Azure驱动器的简单技术演示。这不是我的第一个天蓝色项目,只是我第一次使用Azure驱动器功能。使用本地模拟存储区存储的Azure驱动器寻址

代码:

var localCache = RoleEnvironment.GetLocalResource("MyAzureDriveCache"); 
CloudDrive.InitializeCache(localCache.RootPath, localCache.MaximumSizeInMegabytes); 
var creds = new StorageCredentialsAccountAndKey("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="); 
drive = new CloudDrive(new Uri("http://127.0.0.1:10000/devstoreaccount1/drive"), creds); 
drive.CreateIfNotExist(16); 
drive.Mount(0, DriveMountOptions.None); 

与当地的资源配置:

LocalStorage name="MyAzureDriveCache" cleanOnRoleRecycle="false" sizeInMB="220000" 

例外:

Uri http://127.0.0.1:10000/devstoreaccount1/drive is Invalid 

就如何解决本地存储的信息可以在这里找到:https://azure.microsoft.com/en-us/documentation/articles/storage-use-emulator/

我已经使用存储模拟器用户界面来创建C:\ Users ... \ AppData \ Local \ dftmp \ wadd \ devstoreaccount1文件夹,我期望在这种情况下充当容器。

但是,我遵循这些准则(据我所知),但我仍然收到异常。有没有人能够确定我在这种情况下做错了什么?我希望能够使用其他人使用CloudDrive与127.0.0.1或本地主机但在Google上找不到的工作示例轻松解决此问题。

回答

0

我想你在安装前已经通过了几个必要的步骤。

在安装驱动器之前,您必须初始化驱动器的本地缓存以及包含云端驱动器的页面blob的URI。

初始化缓存:

// Initialize the local cache for the Azure drive 
LocalResource cache = RoleEnvironment.GetLocalResource("LocalDriveCache"); 
CloudDrive.InitializeCache(cache.RootPath + "cache", cache.MaximumSizeInMegabytes); 

定义页面斑点,通常在配置文件中作出的URI:

// Retrieve URI for the page blob that contains the cloud drive from configuration settings 
string imageStoreBlobUri = RoleEnvironment.GetConfigurationSettingValue("< Configuration name>"); 
+0

嗨Hhaggan,感谢您的反馈意见。我确实有缓存初始化,但为了简洁起见,不包括在内。我现在添加了它。你能否在响应中包含“<配置名称>”定义(来自配置文件的内容)? – Syntax 2013-02-19 23:41:57

+0

首先抱歉的回复晚,这里是缺少的 您可以将其添加到角色标记中的服务配置中。 – hhaggan 2013-04-10 22:27:14

+0

当我将这些值放入ServiceConfiguration.Local.cscfg中时发生错误,因为在服务定义文件中没有定义匹配的值;你有没有匹配的定义元素?我很抱歉,但C#不是我的特长,现在已停放了一段时间(在我心中不是新鲜的)。干杯 – Syntax 2013-04-11 01:41:36