C# 同一应用程序上有多个azure网站?

C# 同一应用程序上有多个azure网站?,c#,asp.net,azure,C#,Asp.net,Azure,我有一个需要在不同网站上部署的web应用程序 条件: 所有网站的申请代码都是相同的; 应用程序是数据库驱动的; 不同的网站必须连接到不同的数据库; 数据库的连接字符串在web.config中定义。 如何使不同的网站使用相同的应用程序部署和不同的web.config从不同的数据库中提取数据 下面是我的控制面板现在的样子: 这些网站都是我在VisualStudio之外单独发布的应用程序 最终目标是: 我发现这篇文章: 在“以Web角色在两个站点中运行同一项目”中简要介绍了这一点 但这似乎是为了本

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

条件:

所有网站的申请代码都是相同的; 应用程序是数据库驱动的; 不同的网站必须连接到不同的数据库; 数据库的连接字符串在web.config中定义。 如何使不同的网站使用相同的应用程序部署和不同的web.config从不同的数据库中提取数据

下面是我的控制面板现在的样子:

这些网站都是我在VisualStudio之外单独发布的应用程序

最终目标是:

我发现这篇文章: 在“以Web角色在两个站点中运行同一项目”中简要介绍了这一点


但这似乎是为了本地设置,没有讨论如何在远程Azure实例上实现这一点。

这似乎很简单。不确定你的问题到底是什么

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

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

SCM\u BUILD\u ARGS=-p:Configuration=Debug;PublishProfile=MyChainedTransform

您可以更改生成配置以匹配目标站点的生成配置

现在,如何使其独立于源代码管理。很好的库杜大师也考虑过这一点。您可以使用应用程序设置而不是.deployment文件通过检查部分调整这些设置:

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

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

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

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

因此,您在站点应用程序设置中添加了一个新条目,其中包含键SCM\u BUILD\u ARGS和值-p:Configuration=,您应该准备好了


免责声明:尚未检查解决方案,但没有理由认为这两种解决方案都不起作用。

您提到的博客文章谈到了Azure云的其他服务,即Web角色云服务。它不是网站。我不明白的是,为什么所有网站/应用程序都有相同的代码,只有web.config更改,而您却有不同的Visual Studio项目。。。如果您有不同的存储库,那么您的需求是在公园里散步来实现。无论如何,对于每个配置和子域,您都必须有一个单独的Azure网站。问题是如何集中管理和部署。最后一个问题-您是否计划拥有3个以上这样的站点?目前我只有运行不同版本的部署。现在,我在VS中有一个项目,我可以发布到多个域中的任何一个,我在不同的域中发布它的不同分支,但是我需要在不同的网站上部署相同的版本。为什么我要部署同一项目的同一版本的多个副本:因为我不知道如何在不同的网站之间共享一个项目,并让它们都连接到不同的数据库。我计划至少有十几个不同的网站运行不同的数据库。非常感谢您的帮助。以下是“我的发布”屏幕的外观,它给出了一个想法:在一个解决方案中使用不同的配置文件快速发布到不同的网站。感谢您的解释。这让我找到了大量的文章,让我走上了我认为正确的道路。我的问题是,我对自动在线构建一无所知,也不知道是否将azure网站链接到VSO项目。据我所知,网站要自动从VSO存储库中获取项目,我需要设置一个构建并通过触发器或队列运行构建过程?当我定义了多个构建(dev、release、test)时,我能告诉网站获取一个特定的构建吗?如何将特定的变更集升级到构建中?@astaykov我知道这是一篇老文章,但您能否展示帮助您解决此问题的任何解决方案或文档?我希望在中部署使用同一存储库的多个webapp,与之不同的是web.config。现在,他们正在发布到不同的web应用程序之间手动编辑web.config。