当前位置: 首页 > 知识库问答 >
问题:

连接Azure Blob与Azure网站

潘灵均
2023-03-14

我试图将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-连接字符串

因为我使用的是Azure网站,所以我在我的网站上添加了以下代码。配置文件(在WebApplication1项目下)。还有一个网站。查看文件夹下的配置文件,但我没有修改它。

 <configuration>
    <appSettings>
       <add key="StorageConnectionString" 
            value="DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key" />
    </appSettings>
 </configuration>

我按照教程中的所有步骤安装了相关的NuGet软件包,然后将这些名称空间包含在我的控制器/HomeController中。文件代码:

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);

当我尝试运行解决方案时,我现在得到这个错误:

我还尝试直接输入存储连接字符串(带有我的帐户名和密钥)的值,而不是在下面的语句中引用它:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key"].ConnectionString);

我还是会犯同样的错误。我在网上似乎什么都找不到。有什么想法吗?

谢谢


共有2个答案

步兴为
2023-03-14

这是来自Azure的更糟糕的文档,文章确实告诉您创建一个应用程序设置,然后代码告诉您检索一个ConnectionString。

另一种修复方法是将细节存储为ConnectionString,并保持代码不变:

<add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=https;AccountName=your-account;AccountKey=your-key" />
卜昂熙
2023-03-14

你的代码有一个根本性的错误。

首先设置应用程序设置:

 <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"]);

或者保留连接字符串的线路,但更改网络。配置到:

 <configuration>
    <connectionStrings>
       <add name="StorageConnectionString" 
            connectionString="DefaultEndpointsProtocol=https;AccountName=account-   name;AccountKey=account-key" providerName="System.Data.SqlClient" />
    </connectionStrings>
 </configuration>

当然,你必须把你的云存储帐户和存储帐户密钥的真实值(帐户名称将根本无法工作)。

 类似资料:
  • 如何连接数据库? 出错信息 com . example . Tao . Navi W/system . err:com . Microsoft . sqlserver . JDBC . SQL Server异常:驱动程序无法使用安全套接字层(SSL)加密建立到SQL Server的安全连接。错误:“套接字关闭”。 Azure Server已允许IP地址

  • 有人尝试过将jmeter连接到azure mongodb吗。我尝试连接模拟器,但无法连接,也没有收到任何错误。或者知道Jmeter是否支持与azure mongodb的连接? 检查azure留档:它指出连接字符串应该是这样的。

  • 若要使用PS Vita与互联网连接,需先准备无线通信的环境。 若您的住家等地无法通过无线通信,可使用公众无线LAN服务(Hotspot)在公众场所与互联网连接。 公众无线LAN服务的使用方法与费用会因该服务的提供者而异。详细请询问该服务的提供者。 使用Wi-Fi连接 若要使用Wi-Fi与互联网连接,需准备以下内容。此外,接入点的设定通常会通过电脑进行。 与网络服务商签订合约 接入点或无线路由器 接

  • 我想连接Azure SQL数据库和Azure Databricks。没有给出选项。连接的技巧是什么。任何人都可以帮我。非常感谢。

  • 我试图使用pyodbc连接到Azure SQL数据库,但收到错误: Pyodbc.InterfaceError:('28000','[28000][Microsoft][SQL Server的ODBC驱动程序17][SQL Server]用户'adminc'登录失败。(18456)(SQLDriverConnect);[28000][Microsoft][SQL Server的ODBC驱动程序17

  • 我试图连接到网站在使用filezilla赢得Azure。它连接正常几分钟,我能够上传文件。但是后来它停止了工作。我收到这个消息: 响应:257"/"是当前目录。命令:I型响应:200型设置为I型。命令:PASV响应:227进入被动模式(137,117,88,16,40,32)。命令:列表响应:150打开二进制模式数据连接。响应:550网络连接被本地系统中止。错误:检索目录列表失败 我尝试过将传输模