【发布时间】:2019-07-08 16:46:39
【问题描述】:
我正在尝试在具有两个不同 url/port 的同一 IIS 服务器中配置 ASP.NET Core (2.1) 应用程序,每个 url/port 应使用不同的数据库连接,例如:
- http://localhost:55001(使用 QA DB 连接)
- http://localhost:55002(使用生产数据库连接)
此方案适用于使用 Intranet Web 应用程序。一组用户将使用 Production 应用程序。另一组用户将使用 QA 或 Staging 应用程序。 这两个 urls/db-connections 必须在同一个应用程序中同时启用,以便拥有一个主应用程序(用于策略、维护和机器资源消耗目的)和两个不同的数据库。
我尝试的是配置两个 appsettings.json 文件:第一个 (appsettings.Release.json) 设置生产数据库连接字符串和一个 applicationUrl url/端口。第二个(appsettings.QA.json)定义了不同的数据库连接字符串和不同的applicationUrl。
appsettings.Release.json:
{
"ConnectionStrings": {
"default": {
"ConnectionString": "<production-connection-string>",
"ProviderName": "Oracle.ManagedDataAccess.Client"
}
},
"applicationUrl": "https://localhost:55001",
...
}
appsettings.QA.json:
{
"ConnectionStrings": {
"default": {
"ConnectionString": "<qa-connection-string>",
"ProviderName": "Oracle.ManagedDataAccess.Client"
}
},
"applicationUrl": "https://localhost:55002",
...
}
现在我有点迷失了,我需要实现的下一个配置设置对我来说很混乱并且不清楚。我什至不知道我想要实现的目标是否可行或可接受。 如果我为每个 appsettings[environment/scenario].json 定义一个 ASPNETCORE_ENVIRONMENT 变量值,那么我不能同时为这个变量使用两个值,对吧?
所以我认为设置和使用 ASPNETCORE_ENVIRONMENT 可能不是我的问题的答案。此外,我必须正确配置启动和(也许)程序类来实现我正在寻找的东西。
在这一点上,非常感谢你们的任何建议、指导、代码 sn-p 或解决方案。
【问题讨论】:
标签: asp.net-core iis app-config