У вас есть некоторое недопонимание по поводу создания локального хранилища. Когда вы вызываете приведенный ниже код, он не создает для вас локальное хранилище, вместо этого он возвращает вам экземпляр объекта локального хранилища, который создается во время установки приложения:
LocalResource ls = RoleEnvironment.GetLocalResource("mystorage");
Чтобы определить локальное хранилище в своем приложении, вы либо напрямую добавляете следующее в CSDEF (ниже настройки создадут имя локального хранилища mystorage, размер 2 ГБ, и если в каком-либо случае виртуальная машина перезагрузится или роль перезапустится, локальное хранилище не будет чистым, а содержимое все еще будет там :
<LocalResources>
<LocalStorage cleanOnRoleRecycle="false" name="mystorage" sizeInMB="2048" />
</LocalResources>
Чтобы добавить локальное хранилище, вы также можете выбрать ->> [Visual studio > Свойства роли > Локальное хранилище > Добавить локальное хранилище].
Когда вы определяете локальное хранилище в своем приложении Windows Azure, новая папка будет добавлена, как показано ниже, на вашем диске C: на виртуальной машине Azure, и это делается, когда ваша роль инициализируется на виртуальной машине во время запуска виртуальной машины:
[In Azure VM]
C:\Resources\directory\[Your_deploymentID].[your_webrolename]_[Role_Instance_Count]\
[In Compute Emulator]
// Lunch your application in Compute Emulator and then open "Compute Emulator UI" to see the Local Storage Path in the command window related to your instance:
C:\Users\avkashc\AppData\Local\dftmp\Resources\3503509c-2112-45ea-8d63-377fe9f78491\directory\mystorage\
Once you will add above local storage specific settings in ServiceDefinition.CSDEF, your local storage will be created and then the following code will work:
LocalResource ls = RoleEnvironment.GetLocalResource("mystorage");
ls.Root // returns the correct local storage path
// Now you can use ls to read/write your data.
person
AvkashChauhan
schedule
16.05.2012