0

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

在网上搜索,我发现 entityframework code-first 将为我的项目创建一个新数据库:只需转到 Web.config 文件 -> 连接字符串 -> 并重命名“初始目录”属性。旧的 .mfd 文件仍然存在,但会按照给定的新名称创建一个新文件。

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

另外,为什么在代码中为 CloudBlobContainer 对象分配了一个名称,比如 imagesBlobContainer,但是当我在 VS2013 -> 服务器资源管理器 -> Azure -> 存储 -> 开发 -> Blobs -> 下查找它时,它显示为“图像” ? 它不应该有相同的名字吗?

4

1 回答 1

2

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

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

  • 一台机器上只能有一个存储模拟器,换句话说,您的计算机上只能安装一个存储帐户。
  • 如果您想让应用程序的不同版本连接到不同的存储帐户,您可以做的一件事是让您的应用程序连接到云存储帐户而不是开发存储帐户。然后您可以简单地更改配置文件中的连接字符串,然后您的应用程序将连接到该存储帐户。
  • 另一种解决方案是在配置文件中定义容器名称,并为应用程序的每个版本进行更改。然后您会在存储帐户中看到不同的容器。
于 2015-03-21T02:23:32.853 回答