.NET Core Web应用生产环境MongoDB数据库凭据非文件配置方法
解决方法
.NET Core配置系统对命令行参数的格式有严格要求,你当前的命令行写法存在两个关键问题:
- 参数前缀需使用
--(双横线)而非单横线- - 参数名与值之间不能存在空格
正确的命令行执行格式
使用以下格式传递参数,会自动覆盖appsettings.json中的对应配置,无需修改现有依赖注入和实体类代码:
dotnet app.dll --DataSource.ConnectionString=mongodb://localhost:27017 --DataSource.DatabaseName=Root --DataSource.CollectionName=ApiLog
配置优先级说明
.NET Core配置系统默认优先级中,命令行参数优先级高于JSON配置文件,只要格式正确,程序会优先读取命令行传入的值。
可选:环境变量方式(适合容器部署场景)
如果生产环境更倾向于用环境变量,可通过双下划线__代替JSON层级的.来设置:
# Linux/macOS export DataSource__ConnectionString="mongodb://localhost:27017" export DataSource__DatabaseName="Root" export DataSource__CollectionName="ApiLog" dotnet app.dll # Windows(PowerShell) $env:DataSource__ConnectionString="mongodb://localhost:27017" $env:DataSource__DatabaseName="Root" $env:DataSource__CollectionName="ApiLog" dotnet app.dll
内容的提问来源于stack exchange,提问作者user5466135
相关产品推荐
相关产品推荐

