.NET core 将命令行参数从 Program.cs 传递到 Startup.cs

2023-11-23

我正在尝试配置 kestrel,以便当它处于原始模式时它可以在特定端口上运行。然而,要做到这一点,launchsettings.json 似乎需要传递命令行参数来执行此操作,因为没有直接选项,并且它始终在端口 5000 上运行,如果您有需要运行的 api 和网站,这显然会发生冲突。

因此,我将 CommandLine 包添加到我的站点,您确实可以在startup.cs 文件中使用 builder.AddCommandLine() 。

问题是如何将args从program.cs获取到Startup.cs或查找它们而不是静态变量。

如果您无法获取参数,那么扩展方法就会变得毫无意义。

有更好的方法吗?


一个简单的解决方案是通过以下方式访问命令行参数环境.GetCommandLineArgs method.

您只需确保删除第一个参数,即可执行文件名称:

public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var args = Environment.GetCommandLineArgs().Skip(1).ToArray();
        var builder = new ConfigurationBuilder();
        builder.AddCommandLine(args);

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

.NET core 将命令行参数从 Program.cs 传递到 Startup.cs 的相关文章

随机推荐

  • 错误:无法将“int&”类型的非常量左值引用绑定到“int”类型的右值

    我需要创建一个Bar对象 它有一个私有对象Foo f 然而 价值Foo对象参数应通过特定方法传递int genValue 如果我初始化f在构造函数范围内Bar 编译器报错 比如没有构造函数Foo 如果我这样构建Bar f genValue
  • finally 不在 .NET try-finally 块中执行时的条件

    基本上我听说某些条件会导致 NET 超越finally堵塞 有谁知道这些条件是什么 两种可能性 堆栈溢出异常 执行引擎异常 当有一个finally块时 不会执行StackOverflowException因为堆栈上没有空间来执行更多代码 当
  • 解决方案内的 Visual Studio 项目参考

    在解决方案中引用项目的最佳方式是什么 我通过添加引用 gt 项目添加了引用 然而 它链接到发布 DLL 或调试 DLL 我想在引用中包含项目本身 当我们编译项目时 必须编译所有引用项目 通过依赖项 这个怎么做 如果您想要引用项目本身 而不是
  • 使用 HTML 链接 rel 导入 HTML 文档

    我正在尝试使用以下命令将 HTML 文档导入到我的主文档中 但它似乎不起作用 我正在关注这个演示文稿 使用 Chrome 28 并且我已启用这两个标志about flags Enable experimental WebKit featur
  • 使用 css 设置 div 外宽度

    请问有没有办法设置outerwidth of a div using css忽略填充和边框 当我设置一个div to be 50 宽度 内边距和边框将添加到宽度中 如果没有的话我该如何解决这个问题javascript or jQuery o
  • 如果每个观测值都有新数据,我如何一次订阅 Angular2 中的多个可观测值并等待?

    我有一个角度组件 它使用 3 个服务 这些服务中的每一个都有一个我可以订阅的观察者 如果观察到的任何变化通过 websockets feathers js 发生 则必须更新组件的视图 我想要doSomethingWithTheNewData
  • 如何更新 SQL 数据库中的值? SQLite/Python

    我创建了一个表 并将数据插入到表中 我想知道如何更新 编辑数据 例如 如果我在表中有多个列 其中一列名为 age 该列的数据为 17 而我现在想用 18 替换 17 我会这样做吗下列的 import sqlite3 as lite impo
  • 为什么日期选择器中的日期显示为最后一天?

    我使用 datepicker c 角材料 这是代码 td div class input group div class input group addon div div td
  • centos libgeos 存储库丢失

    在 centos 7 3 上 最小尝试安装 shapely 或 geopandas 需要访问https github com libgeos libgeoslibgeos 尝试通过安装这个sudo yum install libgeos d
  • 没有事件参数的 EventHandler 类型

    当我们想要将数据传递给事件订阅者时 我们使用 EventArgs 或 CustomEventArgs 来实现此目的 Net 提供了一个内置类型 EventHandler 它也使用内置的 EventArgs 类的实例作为参数 当我需要通知订户
  • 将 SimpleMembership 迁移到 Identity 2.0

    这个问题已经演变 所以我更新了标题 这是原来的标题 Identity 2 UserManager Find 抛出 无效的对象名称 dbo ApplicationUser 错误 我正在从 SimpleMembership 转换为 Identi
  • JasperReport 报告中的 Excel 单元格格式

    我正在研究生成 Excel 文件的 JasperReport 报告 由于某种原因 我的单元格格式 类型不正确 例如 我的单元格中有 Date 对象 但是当我生成 Excel 文件时 它将单元格类型设置为数字 或者长整型是单元格中的文本 但单
  • “RxSwift”倒计时器

    我需要一个三十秒计时器RxSwift 这是一个重复的问题 但问题没有明确的答案 现有答案的更好方法 let countDown 15 15 seconds Observable
  • C++ 在派生类中初始化基类的 const int?

    我的基类中有一个常量 int 变量 我想在派生类中初始化响应变量 并使用不同的值 作为参数 这可能吗 这就是我所做的 Base h methods implemented in Base cpp in the actual code cla
  • hadoop 块丢失异常

    我收到以下错误 Diagnostics org apache hadoop hdfs BlockMissingException Could not obtain block BP 467931813 10 3 20 155 1514489
  • 请求安装包

    状态 已批准 但存在问题 需要采取进一步行动 我们发现您的应用存在问题 您需要按照如下所述进行检查并采取措施 以便您的应用将来不会受到影响 发现的问题 权限的使用与应用程序的核心目的没有直接关系 我们发现您的应用不符合 REQUEST IN
  • 使用 Kustomize 在 kubernetes 清单中修补列表

    我想修补 覆盖 list in 库伯内特斯体现为定制化 我正在使用 patchStrategicMerge 方法 当我修补不在列表中的参数时 修补会按预期工作 仅替换 patch yaml 中的已寻址参数 其余部分保持不变 当我修补列表时
  • SAX解析——获取文本节点的高效方法

    给定这个 XML 片段
  • JsonNullable 没有与 Jackson 序列化其值

    我正在尝试使用JsonNullable
  • .NET core 将命令行参数从 Program.cs 传递到 Startup.cs

    我正在尝试配置 kestrel 以便当它处于原始模式时它可以在特定端口上运行 然而 要做到这一点 launchsettings json 似乎需要传递命令行参数来执行此操作 因为没有直接选项 并且它始终在端口 5000 上运行 如果您有需要