.NET Core 通过命令行传递配置部分

2023-11-22

在 appsettings json 文件中我有:

  "DataSource": {
    "ConnectionString": "mongodb://localhost:27017",
    "DatabaseName": "Root",
    "CollectionName": "ApiLog"
  },

在 Program.cs 中,我得到这样的数据

builder.Services.Configure<DatabaseSettings>(
    builder.Configuration.GetSection("DataSource"));

其中 DatabaseSettings 类是;

    public class DatabaseSettings
    {
        public string ConnectionString { get; set; } = null!;

        public string DatabaseName { get; set; } = null!;

        public string CollectionName { get; set; } = null!;
    }

然后我可以通过依赖注入访问 DatabaseSettings 的实例,例如:

    public class LogService
    {
        private readonly IMongoCollection<Log> _collection;

        public LogService(
            IOptions<DatabaseSettings> databaseSettings)
        {
            var mongoClient = new MongoClient(
                databaseSettings.Value.ConnectionString);

            var mongoDatabase = mongoClient.GetDatabase(
                databaseSettings.Value.DatabaseName);

            _collection = mongoDatabase.GetCollection<ElekseLog>(
                databaseSettings.Value.CollectionName);
        }
    }

问题是我不想将数据库信息存储在 appsettings json 文件中。我想从命令行传递信息而不更改代码。我怎样才能实现这个目标?


您需要通过将“路径元素”与:并作为键值对传递。例如:

yourapp "DataSource:ConnectionString"="mongodb://localhost:27017"

Or

yourapp  --DataSource:ConnectionString=mongodb://localhost:27017

一些信息可以在文档中找到 -命令行配置提供程序.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET Core 通过命令行传递配置部分 的相关文章

随机推荐

  • 根据外部架构文件验证 Jackson 的 JSON 架构合规性

    我想使用杰克逊图书馆 https github com FasterXML jackson 来处理 Java 中的 JSON 文件 这些文件由 JSON 模式文件描述 现在 我想验证解析的 JSON 是否符合由其自身解析的 JSON 模式文
  • 将元素添加到具有间隙数字键的数组以形成索引数组/列表

    我有一个像这样的数组 array 0 gt Apple 2 gt Orange 5 gt Pear 8 gt Pear 有没有办法用默认值 例如 空字符串或null 我想将新元素插入到数组中的以下键 1 3 4 6 7 我的结果应该是 0
  • Scala 错误处理:尝试还是选择?

    给定 UserService 中的一个方法 update 这里处理错误 异常的最佳方法是什么 选项A def update Try User 这样 我需要定义我的自定义例外并在需要时将它们扔到函数体内 这些异常大多数是业务错误 例如 use
  • 使用静态用户登录 Flask 总是会产生 401-未经授权

    我正在尝试构建一个超级简单的网络应用程序供我自己使用 我将是唯一的用户 所以我觉得不需要涉及数据库来进行用户管理 我正在尝试使用烧瓶登录 但即使我打电话给login user成功了 在重定向到带有以下内容的页面后 我仍然遇到 401 未经授
  • 如何在 TypeScript 中声明仅包含对象而不包含函数的类型

    在 TypeScript 中是否可以以某种方式定义一个类型 使其只包含对象而不包含函数 Example type T name string any How to modify this to only accepts objects co
  • Python如何在处理完类对象后释放其内存?

    I use None 关键字删除类对象 class demo class members obj demo some processing obj None 通过使用None 内存会被释放吗 我找到del也可以用于删除类对象 或者我应该使用
  • javascript 帮助中的概率?

    抱歉 我是 JS 新手 似乎无法弄清楚 我该如何做概率 我完全不知道 但我想做点什么 100 的机会 也许 0 7 的机会执行函数e 和 30 的机会执行函数d 等等 它们将精确地加起来 100 每个函数都有不同的函数 但我还没有弄清楚如何
  • 模拟实体框架数据库

    我正在使用实体框架 4 是否可以使用一些随机数据从模式自动创建一些 MOCK 数据库 在整数的位置 放置整数 在字符串的位置 放置一些 GUID 或其他 这对我调试我的应用程序有很大帮助 谢谢你 詹姆斯 我发现这个很棒的工具与 EF 4 一
  • DotNetOpenAuth 获取 Facebook 电子邮件地址

    我有以下代码 它获取名字 姓氏 我意识到电子邮件是扩展权限 但我需要修改什么才能请求扩展权限 如何通过以下方式获取经过身份验证的 Facebook 用户的电子邮件DotNetOpenAuth fbClient new FacebookCli
  • 是否可以配置 UITableView 以允许多重选择?

    对于iPhone 是否可以配置UITableView以允许多重选择 我尝试过覆盖 setSelected animated 对于每个 UITableViewCell 但尝试捏造所需的行为是很棘手的 因为很难将真正的取消选择与 UITable
  • PHP7.1 json_encode() 浮点问题

    这不是一个问题 因为它更多的是一个意识 我更新了一个使用的应用程序json encode 到 PHP7 1 1 我发现浮点数有时会扩展到 17 位数字的问题 根据文档 PHP 7 1 x开始使用serialize precision而不是编
  • Android,如何在旋转设备时不破坏活动?

    我有一个仅在纵向模式下工作的应用程序 并且我已在清单文件中将每个活动的方向更改为纵向 但是当我旋转设备时 活动会再次重新创建 如何才能不破坏活动呢 For API 12 及以下 add android configChanges orien
  • 如何将大型 AngularJS 项目拆分为模块

    我来自 Backbone 和 JavascriptMVC 的世界 但我真的很想切换到 AngularJS 到目前为止 我有一个大问题阻止我转变 我创建单页应用程序 假设它包含一个选项卡模块 一个文件上传模块和一个文件列表模块 我在 Back
  • 当前的 C++ 编译器是否曾发出“rep movsb/w/d”?

    This question让我想知道 当前的现代编译器是否曾经发出过REP MOVSB W D操作说明 基于此讨论 似乎使用REP MOVSB W D对当前的 CPU 可能会有好处 但无论我如何尝试 我都无法使任何当前的编译器 GCC 8
  • Android 模拟器:缺少右侧面板

    似乎在最新版本的 Android studio 中 谷歌为模拟器提供了新的皮肤 我注意到它们是模拟器右侧的侧面板 就我而言 这个面板丢失了 我已经搜索了几个小时但没有结果 谁能告诉我如何在模拟器中启用此面板 PS 我使用的是Ubuntu 1
  • 对类型“Assembly”的引用声称它是在“System.Runtime”中定义的,但找不到

    自从更新到 VS2017 15 7 1 以来 我的 Xamarin PCL 项目在 UWP App xaml cs 文件中显示以下错误 错误CS7069对类型 Assembly 的引用声称它是在 System Runtime 中定义的 但找
  • 显示 pdf 时是否可以删除 UIwebview 中的 [“第 1 页,共 20 页”视图]?

    经过多次谷歌搜索后我无法找到解决方案 我有一个 UIWebView 里面有一个 PDF 我不想要这样的视图 第 1 页 共 20 页 查看 PDF 文件时左上角的小视图 可以删除这个吗 斯威夫特 3 和WKWebView 我得到了所有的子视
  • ios 会在特定时间后终止在后台运行的应用程序吗?

    我在应用程序中使用核心位置框架 并在 UIBackgroundMode 或必需背景模式 在 Xcode 4 2 中 中设置位置字符串 以便从中获取更新的位置didUpdateToLocation当应用程序在后台运行时的方法 并通过点击内部的
  • 使用 webpack 5 将 SVG 导入为 React 组件

    我想在我的应用程序中使用 SVG 作为 React 组件 我正在使用 react 17 0 2 Webpack 5 57 1 svgr webpack 6 2 1 我按照 svgr 文档中的步骤在 webpack config 文件中添加
  • .NET Core 通过命令行传递配置部分

    在 appsettings json 文件中我有 DataSource ConnectionString mongodb localhost 27017 DatabaseName Root CollectionName ApiLog 在 P