2014-10-11 92 views
0

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

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

更详细一点:

  • 我的环境是Windows Server 2008 R2中运行IIS 7.5
  • 的服务连接到实际Azure的Blob存储在云中,我可以在网上保存的图像(即,我使用Azure SDK 3.3中的Azure开发计算/存储模拟器从我的开发环境(VS 2013 with IIS Express)登录到Azure门户上的帐户,并且可以看到上载到我的测试容器中的图像)。
  • 我无法使用IIS 7.5在我的开发框中使用解决方案。
  • 我试过从我的解决方案中的“构建”菜单中“部署”解决方案,但没有任何反应。尝试在我的解决方案中“发布”Cloud Service项目只是让我到Azure在线发布它。那是什么使我的解决方案工作的必要条件?发布Cloud Service项目?

感谢。

回答

0

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

  1. 添加您的Azure的斑点连接字符串在Web.config文件中,这样就可以从你的项目访问,而无需引用云存储帐户设置(即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解决方案的文档,因为在这个主题上似乎几乎没有任何内容。

+0

正如我在回答中所说的,您不需要Cloud项目。如果您要将Web应用程序或服务部署到Azure,则可以使用Cloud项目。 – 2014-10-13 13:21:23

0

如果您拥有的是内部部署的Web应用程序,那么您不应该使用Cloud Service项目(这是一个最终作为Azure Cloud Service部署的项目)。如果你想在网络服务器上进行blob上传,你只需要将Azure Storage NuGet package添加到你的web项目中,并使用存储库来上传blob(假设你已经有了这样的代码,因为你说的东西在你的工作中开箱)。

+0

您是如何得出OP不应该使用云服务的结论的?与虚拟机部署一样,这是一个可行的选择,就像网站部署一样。我们对应用程序的总体信息和整体架构的信息几乎为零,并且在考虑选择哪个选项时涉及许多因素。 – 2014-10-12 13:15:11

+0

不幸的是,本地访问Azure服务的文档非常有限。我认为你可能是对的,但是我开始走这条路,因为看起来,根据微软和其他地方的所有文档,我需要一个云服务项目。似乎解决上述问题的方法只是使用底层网站项目,忽略云服务项目,同时对网站项目进行一些小修改 - 当我有这个问题时,我会发布这个问题的答案再过几分钟。 – JGoldman 2014-10-12 14:08:52

+0

@David OP说应用程序是需要访问Azure blob存储的内部Web应用程序。它没有说应用程序需要迁移到云,因此不需要Cloud Service。这里唯一需要的Azure资源是存储帐户。 – 2014-10-13 13:12:25

相关问题