2013-03-06 3 views
0

В моем коде (который имеет рабочую роль) мне нужно указать путь к каталогу (для этого нужна сторонняя библиотека). Локально я включил папку в проект и просто дал полный путь к ней. Однако после развертывания, конечно, мне нужен новый путь. Как подтвердить, что вся папка была развернута, и как мне определить новый путь к ней?Доступ к определенной папке в облачном сервисе azure

Edit: Я добавил папку с узлом роль в визуальной студии и доступ к нему, как это: Path.Combine(Environment.GetEnvironmentVariable("RoleRoot"), "my_folder");

ответ

2

Будет ли этот каталог будет использоваться для чтения и записи? Если да, вы должны использовать ресурс LocalStorage. https://azure.microsoft.com/en-us/documentation/articles/cloud-services-configure-local-storage-resources/ показывает, как использовать это.

Если каталог предназначен только для чтения (т. Е. У вас есть двоичные файлы или файлы конфигурации там), то вы можете использовать переменную окружения% RoleRoot% для определения пути, в котором был развернут ваш пакет, а затем просто добавить любую папку, в которую вы в вашем проекте (т. е.% RoleRoot% \ Myfiles).

+0

ссылка больше недействительна –

+0

Thanks @ScottCowan, ссылка обновлена. – kwill

2

Я бы взял несколько иной подход. Поместите пакет сторонних разработчиков в хранилище blazs Windows Azure, затем во время запуска ролика вы можете загрузить/извлечь его и поместить файлы в доступное локальное хранилище (предоставляя ему любые разрешения, необходимые для приложения). Затем используйте это местоположение из своего приложения через одну и ту же локальную конфигурацию хранилища.

Это должно помочь вам уменьшить размер вашего пакета развертывания, а также дать вам возможность обновлять сторонние компоненты без полного перераспределения вашего решения. И, используя его при запуске, вы можете гарантировать, что файлы будут там, если экземпляр роли будет разорван и перестроен.

+0

Уменьшение размера развертывания кажется привлекательным, я исследую этот подход. – ren

Смежные вопросы