【发布时间】:2022-01-04 07:43:21
【问题描述】:
我想使用非常简单的 WebDeploy 功能通过 VPN 为客户端发布 webapp。
IIS 位于客户端服务器上,由受信任方管理。我想将我的配置参数放在所述服务器上,而不必在我的代码中写入敏感数据(以及源代码控制)。
public void ConfigureServices(IServiceCollection services)
{
EGICContext.ConnectionString = Configuration["ConnectionString"];
EGICContext.InMemory = Configuration["InMemory"] == "true";
services.AddScoped((s) => new EmailSender(Configuration["EmailSMTP"]));
}
我在客户端服务器上创建了一个文件夹,并想像在 Azure 中那样编辑生产配置。但这会修改 web.config 文件,每次发布都会覆盖...
这是不可接受的行为,因为应用程序在没有配置的情况下就崩溃了。 我觉得这应该可以在几分钟内解决,但我花了几个小时寻找解决方案,但没有任何结果。
我不能使用 appsettings.json,它也会被覆盖,我不能将任意 secrets.json 放在根文件夹中,因为应用程序不会读取它。 环境变量会相互冲突,看起来很乱……
我错过了什么?
【问题讨论】:
标签: c# asp.net-core iis configuration-files