【问题标题】:Access Azure Blob Storage from on-premises IIS application从本地 IIS 应用程序访问 Azure Blob 存储
【发布时间】:2014-12-06 18:39:05
【问题描述】:

我有一个本地 .NET/IIS 应用程序,我为此开发了新功能,允许用户将图像上传到 Azure Blob 存储。在我的开发环境中一切正常,现在我准备在本地部署这个应用程序到我的生产环境。

我不知道该怎么做。可能吗?如果是这样,我该怎么做?

更多细节:

  • 我的环境是运行 IIS 7.5 的 Windows Server 2008 R2
  • 该服务连接到云端实际的Azure Blob Storage,我可以从我的开发中在线保存图像(即我在Azure门户上登录我的帐户,我可以看到我的测试容器中上传的图像)环境(带有 IIS Express 的 VS 2013)使用 Azure SDK 3.3 中的 Azure 开发计算/存储模拟器。
  • 我无法让解决方案在使用 IIS 7.5 的开发设备上运行。
  • 我已尝试从解决方案的“构建”菜单中“部署”解决方案,但没有任何反应。尝试在我的解决方案中“发布”云服务项目只会将我带到 Azure 以在线发布它。这是让我的解决方案正常工作所必需的吗?发布云服务项目?

谢谢。

【问题讨论】:

    标签: asp.net .net iis azure azure-blob-storage


    【解决方案1】:

    如果您只有在本地部署的 Web 应用程序,则不应使用云服务项目(该项目最终部署为 Azure 云服务)。如果您希望 Blob 上传发生在 Web 服务器上,您只需将 Azure Storage NuGet package 添加到您的 Web 项目并使用存储库来上传 Blob(假设您已经在某处有这样的代码,因为您说一切正常在你的开发盒上)。

    【讨论】:

    • 您是如何得出 OP 不应该使用云服务的结论的?这是一个可行的选择,就像虚拟机部署一样,网站部署也是如此。我们对应用程序及其整体架构的总体信息几乎为零,在考虑选择哪个选项时涉及许多因素。
    • 不幸的是,本地访问 Azure 服务的文档非常有限。我认为您可能是对的,但我之所以走这条路,是因为根据 Microsoft 和其他地方的所有文档,我似乎需要一个云服务项目。似乎解决上述问题的方法只是使用底层网站项目,忽略云服务项目,同时对网站项目进行一些小的修改——当我有这个问题时,我会在回答中发布再过几分钟。
    • @David OP 说该应用程序是一个本地 Web 应用程序,需要访问 Azure Blob 存储。它没有说应用程序需要迁移到云,因此不需要云服务。此处需要的唯一 Azure 资源是存储帐户。
    【解决方案2】:

    我认为我的问题的答案基本上是完全忽略云服务项目,只需像通常部署它一样部署底层网站,只需进行两个小修改。

    1. 在您的 Web.config 文件中添加您的 Azure Blob 连接字符串,以便您可以从您的项目中访问它,而无需参考云存储帐户设置(即 CloudConfigurationManager.GetSetting 等)。
    2. 在您的 Web.config 文件中,注释掉 AzureDiagnostics 跟踪侦听器:

        <listeners>
      <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
        <filter type="" />
      </add>
      

    使用这两个修改,我能够将我的底层网站部署到我的本地 IIS,同时仍然从我的本地解决方案访问 Azure Blob 存储。

    我仍然不完全确定我是否曾经需要或仍然需要我的解决方案中的云服务项目,但我现在将其保留在那里。

    希望这个问题/答案能够帮助其他人在本地和 Azure 混合解决方案上搜索文档,因为在这个主题上似乎几乎没有任何内容。

    【讨论】:

    • 正如我在回答中所说,您不需要 Cloud 项目。如果您将 Web 应用程序或服务部署到 Azure,您将使用云项目。
    猜你喜欢
    • 2011-05-22
    • 2016-08-23
    • 2014-06-27
    • 1970-01-01
    • 2020-06-03
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多