Подключение Azure Blob с веб-сайтом Azure
Я пытаюсь подключить веб-сайт Azure к Azure blob (где я намерен разместить некоторые файлы в контейнере, а затем захватить их с моего веб-сайта).
Я начал с этого урока: http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started/
я развернул свой веб-сайт, а затем начал следовать этому руководство: http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/#setup-connection-string
поскольку я использовал веб-сайт Azure, я добавил следующий код в свой веб-сайт.файл конфигурации (в рамках проекта WebApplication1). Существует также Сеть.файл config в папке Views, но не изменить.
<configuration>
<appSettings>
<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key" />
</appSettings>
</configuration>
Я выполнил все шаги в учебнике и установил соответствующие пакеты NuGet, а затем включил их пространства имен в моем :
using System.Configuration;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Auth;
using Microsoft.WindowsAzure.Storage.Blob;
затем я добавил следующее утверждение в ActionResult Index()
метод (который выполняется по умолчанию).
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
когда я пытаюсь запустить решение, я теперь получаю ошибку:
Я также попытался напрямую поставить значение StorageConnectionString
(С моим именем учетной записи и ключом) вместо ссылки на него в следующем заявлении:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key"].ConnectionString);
Я все еще получаю ту же ошибку. Я не могу кажется, нашел что-нибудь в интернете. Есть идеи?
спасибо!
2 ответов
у вас есть принципиальная ошибка в вашем коде.
сначала вы устанавливаете AppSetting:
<configuration>
<appSettings>
<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=account- name;AccountKey=account-key" />
</appSettings>
</configuration>
затем вы пытаетесь получить строку подключения:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
Это просто не сработает. При установке AppSetting вам необходимо прочитать AppSetting. При установке ConnectionString необходимо прочитать строку подключения.
Итак, решение должно быть просто держать в интернете.настройте как есть и измените строку, в которой вы получаете учетную запись хранения:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]);
или сохраните строку для строк подключения, но измените web.конфиг:
<configuration>
<connectionStrings>
<add name="StorageConnectionString"
connectionString="DefaultEndpointsProtocol=https;AccountName=account- name;AccountKey=account-key" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
и, конечно, вы должны поместить свои реальные значения для учетной записи облачного хранилища и ключа учетной записи хранения (account-name
просто не работают).
это более плохая документация из Azure, статья действительно говорит вам создать AppSetting, а затем код говорит вам получить ConnectionString.
альтернативное исправление состоит в том, чтобы сохранить детали как ConnectionString и оставить код как есть:
<add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=https;AccountName=your-account;AccountKey=your-key" />