我有一个网络应用程序,需要部署在不同的网站上。
条件:
- 所有网站的应用代码均相同;
- 应用程序是数据库驱动的;
- 不同的网站必须连接到不同的数据库;
- 数据库的连接字符串在 web.config 中定义。
如何让不同的网站使用相同的应用程序部署和不同的 web.config 从不同的数据库中提取数据?
这是我的控制面板现在的样子:
这些网站都是我在 Visual Studio 之外单独发布的应用程序。
最终目标是这样的:
我找到这篇文章:http://www.wadewegner.com/2011/02/running-multiple-websites-in-a-windows-azure-web-role/ 它在“在 Web 角色的两个站点中运行相同的项目”中简要讨论了这一点
但这似乎应该用于本地设置,并且没有讨论如何在远程 Azure 实例上获取它。
最佳答案
这看起来非常简单。不确定您的问题到底是什么。
您可以轻松地将多个 Azure 网站映射(从源代码控制部署)到同一源代码存储库。然后,如果您使用 VSO (Visual Studio Online),链接将为每个站点创建一个新的 CI 构建定义。然后,您只需编辑构建配置以包含每个环境的适当配置设置。
如果您使用其他源代码管理,您仍然可以自定义持续部署的工作方式。所有设置均可通过特殊的.dpeloyment
进行配置。文件。您可以阅读更多关于 these configurable settings here 。最重要的部分:
SCM_BUILD_ARGS=-p:Configuration=Debug;PublishProfile=MyChainedTransform
您可以更改构建配置以匹配目标站点的配置。
现在,如何使其独立于源代码控制。优秀的捻角羚大师也考虑过这一点。您可以通过 Application Setting for the web site itself 调整这些设置(检查部分Using App Settings instead of .deployment file
:
Instead, you can use App Settings to set the same values that are supported in the .deployment file. The steps are:
Go to the Configure tab for you site in the Azure portal
Add an App Setting called
Project
, and set its value to something likeWebProject/WebProject.csproj
Then in your other web site you can set Project to point to a different
.csproj
file.
因此,您使用 key SCM_BUILD_ARGS
添加一个新条目和值-p:Configuration=<your_desired_configuration>
在站点应用程序设置中,您应该准备就绪。
免责声明:尚未检查解决方案,但没有理由认为其中任何一个都不起作用。
关于c# - 同一应用程序上有多个 azure 网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884215/