【发布时间】:2014-09-05 06:11:58
【问题描述】:
我正在尝试将 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 网站,因此我将以下代码添加到我的 web.config 文件(在 WebApplication1 项目下)。 Views 文件夹下还有一个 web.config 文件,但我没有修改。
<configuration>
<appSettings>
<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key" />
</appSettings>
</configuration>
我按照教程中的所有步骤安装了相关的 NuGet 包,然后将这些命名空间包含在我的 Controllers/HomeController.cs 文件中:
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);
我仍然遇到同样的错误。我似乎无法在互联网上找到任何东西。有什么想法吗?
谢谢!
【问题讨论】:
-
如果您提供 InnerException 可能会有所帮助,因为它可以提供一些有用的信息。有几件事要尝试...首先,您的第二个示例是尝试搜索名为“DefaultEndpointsProtocol....”的 ConnectionString,而这只是值。其次,直接添加存储账户字符串即可,即 CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key"]);
标签: c# asp.net azure azure-blob-storage azure-web-app-service