同一个应用程序上的多个azure网站?

时间:2015-03-05 17:39:19

标签: c# asp.net azure

我有一个我需要在不同网站上部署的网络应用程序。

条件:

  1. 所有网站的应用程序代码都相同;
  2. 应用程序是数据库驱动的;
  3. 不同的网站必须连接到不同的数据库;
  4. 数据库的连接字符串在web.config中定义。
  5. 如何让不同的网站使用与不同web.config相同的应用程序部署来从不同的数据库中提取数据?

    以下是我的控制面板现在的样子: enter image description here

    这些网站都是我从Visual Studio中单独发布的应用程序。

    最终目标是: enter image description here

    我找到了这篇文章:http://www.wadewegner.com/2011/02/running-multiple-websites-in-a-windows-azure-web-role/ 它在“在Web角色的两个站点中运行相同的项目”中简要介绍了这一点

    但似乎这应该用于本地设置,而不是讨论如何在远程Azure实例上获取此功能。

1 个答案:

答案 0 :(得分:0)

这看起来非常简单。不确定你的问题究竟是什么。

您可以轻松地将(从源代码管理部署)多个Azure网站映射到相同的源代码存储库。然后,如果您使用的是VSO(Visual Studio Online),则链接将为每个站点创建新的CI构建定义。然后,您只需编辑构建配置以包含每个环境的相应配置设置。

如果您正在使用其他源代码管理,您仍可以自定义连续部署的工作方式。所有设置都可以通过特殊的.dpeloyment文件进行配置。您可以阅读有关these configurable settings here的更多信息。最重要的部分:

  

SCM_BUILD_ARGS = -p:配置=调试; PublishProfile = MyChainedTransform

您可以更改构建配置以匹配目标站点的配置。

现在,如何独立于源代码控制。好的Kudu Gurus也考虑过这个。您可以通过Application Setting for the web site itself调整这些设置(请参阅Using App Settings instead of .deployment file

部分)
  

相反,您可以使用“应用程序设置”设置支持的相同值   在.deployment文件中。步骤是:

     

转到Azure门户中的站点的“配置”选项卡

     

添加名为Project的应用设置,并将其值设置为   WebProject/WebProject.csproj

     

然后在您的其他网站上,您可以将Project设置为指向其他.csproj文件。

因此,您在“网站应用程序设置”中添加了一个包含密钥SCM_BUILD_ARGS和值-p:Configuration=<your_desired_configuration>的新条目,您应该准备好了。

免责声明:没有检查解决方案,但没有理由不这样做。