2013-02-19 34 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