Как получить доступ к файлам из облачной веб-службы?

#c# #.net #web-services #cloud

#c# #.net #веб-службы #облако

Вопрос:

Как получить доступ к локальным файлам из веб-службы Windows Azure? Я попытался указать полный путь к файлу в VS, но он говорит, что доступ запрещен. Я надеялся, что есть что-то похожее на Server.MapPath() в ASP.NET но я еще не сталкивался ни с чем подобным. Также я запускаю VS в режиме администратора. Есть идеи?

ПРИМЕЧАНИЕ: Я использую службу WCF (облачный проект в VS)

Ответ №1:

В Azure все по-другому. По сути, вам нужно указать и настроить использование локального хранилища в файле определения службы для вашей роли. В свойствах роли есть раздел локального хранилища. После настройки вы можете получить доступ к локальному хранилищу в вашем коде, вызвав RoleEnvironment.Получаем localresource и передаем имя локального хранилища. Затем вы можете выполнять чтение из этого локального хранилища и запись в него. Ниже приведены некоторые записи в блоге на эту тему.

Комментарии:

1. есть ли способ проверить, успешно ли файлы туда записаны. Если да, то где я могу получить к нему доступ?

2. Вы можете попробовать прочитать то, что вы пишете, или проверить существование файла по файлам. Существует. Однако обратите внимание, что локальное хранилище не является долговременным хранилищем или может использоваться совместно с другими экземплярами. Вы можете потерять содержимое, если удалите роль. Если вы ищете надежное и совместно используемое хранилище, вам необходимо рассмотреть Azure blob или табличное хранилище. Существует также Azure Drive microsoft.com/windowsazure/Whitepapers /… .