如何为我的 .NET MVC 项目(在 Azure 存储模拟器上)创建一个新的 CloudBlobContainer 实例?

How to create a new CloudBlobContainer instance for my .NET MVC project (on Azure storage emulator )?

我有一个示例 .NET 网络应用程序项目,使用 SQL 数据库和 Azure blob 进行存储。我想要同一个项目的多个版本(复制、粘贴和重新命名文件夹 -> 然后在 VS2013 中打开),但问题是每个项目副本都指向同一个数据库和 Azure blob。当 运行 同一项目的新修改副本时,这会产生问题。

在网上搜索,我发现 entityframework 代码优先会为我的项目创建一个新数据库:只需转到 Web.config 文件 -> 连接字符串 -> 并重命名 'Initial Catalog' 属性。旧的 .mfd 文件仍然存在,但会根据给定的新名称创建一个新文件。

我假设 Azure blob 容器可以实现类似的功能?我怎样才能做到这一点?我试图重命名 CloudBlobContainer 对象实例(在 class 代码内),但这只会在 运行 时产生错误。

此外,为什么 CloudBlobContainer 对象在代码中指定了一个名称,例如 imagesBlobContainer,但是当我在 VS2013 -> 服务器资源管理器 -> Azure -> 存储 -> 开发 -> Blobs -> 下查找它时显示为 'images'?不应该同名吗?

就像您的 SQL 数据库连接字符串一样,存储帐户的连接字符串是从配置文件中选取的。如果您正在进行开发,您应该会看到一些设置值,类似于 UseDevelopmentStorage=true。这告诉应用程序连接到存储模拟器。

现在回答您关于连接到不同存储帐户的问题,您需要了解以下几点:

  • 一台机器上只能有一个存储模拟器,换句话说,您的计算机上只能安装一个存储帐户。
  • 如果您想让不同版本的应用程序连接到不同的存储帐户,您可以做的一件事是让您的应用程序连接到云存储帐户而不是开发存储帐户。然后您只需更改配置文件中的连接字符串,然后您的应用程序就会连接到该存储帐户。
  • 替代解决方案是在您的配置文件中定义容器名称,并为您的应用程序的每个版本更改它。然后您会在存储帐户中看到不同的容器。