Доступ к файлам Azure / Доступ к пользовательским файлам конфигурации в облачной службе Windows Azure
Я нашел несколько статей о стековом потоке, которые я попытался использовать, чтобы ответить на мой вопрос о доступе к файлам в облачной службе Windows Azure.
Мое приложение имеет ряд XML-файлов, которые используются в качестве пользовательских файлов конфигурации, и они хранятся в веб-проекте, так как это наиболее удобное место для возможности управлять / редактировать их.
Теперь при развертывании этого решения на локальном сервере IIs я могу легко получить доступ к этим XML-файлам и прочитать их. Я изначально ожидал, что это будет точно так же в облачной службе Windows Azure. Но я обнаружил, что получаю ошибки доступа к файлу, когда просто пытаюсь прочитать эти файлы.
После прочтения ряда статей здесь становится очевидным, что это не так, и для доступа к хранилищу файлов мне нужно настроить локальное хранилище.
Это, однако, не совсем подходит для моего сценария, так как это хранилище является временным, не разделяется между экземплярами роли и не будет заполняться файлами конфигурации xml при развертывании.
Я хочу, чтобы мои файлы конфигурации были в проекте, поскольку они привязаны к определенной версии выпуска, поэтому хорошо, что все они также находятся под контролем исходного кода и хорошо, потому что они развертываются с каждым выпущенным развертыванием.
Я могу думать об одном способе использования локального хранилища, которое может быть возможным, но не уверен, как. Будет ли при развертывании какой-либо способ скопировать все локальные файлы конфигурации в учетную запись локального хранилища, а затем приложение сможет обращаться к ним из локального хранилища по мере необходимости. Я думаю, что это будет временным и не будет использоваться совместно, так как каждый экземпляр будет иметь свое собственное локальное хранилище с развернутыми файлами конфигурации. Но мне нужно убедиться, что в случае сбоя облачной службы локальное хранилище будет заполнено необходимыми файлами конфигурации.
Или есть другие варианты?
Очевидно, что во всех статьях предлагается использовать хранилище Azure и использовать BLOB-объекты, и я мог бы это сделать, но это создает дополнительные проблемы, и мне нужно найти способ автоматического развертывания всех файлов конфигурации при каждом развертывании в Azure.
любая помощь о том, как это может быть достигнуто наилучшим образом, будет принята с благодарностью.
Как я уже упоминал в одном из комментариев ниже, файлы конфигурации представляют собой стандартные XML-файлы, которые включаются в контент в решение. При развертывании на локальном сервере конфигурационные файлы публикуются и развертываются и могут быть прочитаны. Но при развертывании в облачной службе Azure файлы конфигурации развертываются (как я уже проверял, установив удаленное взаимодействие и найдя файлы в облачной службе vm). Но всякий раз, когда я пытаюсь прочитать их (с помощью XmlSerializer), я получаю сообщение об отказе в доступе.
1 ответ
Крамер, если вы включаете файлы конфигурации в проект и задаете для параметра "Копировать в вывод" значение "Всегда копировать" или для параметра "Тип сборки" для содержимого) доступ к файлам конфигурации должен работать так же, как в IIS. Проверьте следующие 2 сообщения для примеров того, как сделать это: