Csharp/C#教程:.NET Core Web项目 – 使用命令行参数分享


.NET Core Web项目 – 使用命令行参数

我想通过命令行参数将DbConnectionString传递给我的.NET Core Web API应用程序。

看完之后:

.NET核心从Program.cs传递命令行Args到Startup.cs

我的Program.cs看起来像:

public static void Main(string[] args) { var config = new ConfigurationBuilder() .AddCommandLine(args) .Build(); var host = new WebHostBuilder() .UseKestrel() .UseConfiguration(config) .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup() .Build(); host.Run(); } 

所以现在……我已经将命令行参数添加到我的WebHostBuider的键值对配置集合中……

但是,在Startup.cs中我注册了所有内容,例如我的DbContext(需要将DbConnectionString作为命令行arg传递)

我的启动构造函数如下所示:

  public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) .AddEnvironmentVariables(); Configuration = builder.Build(); } 

因为以前,我的连接字符串存储在Config文件中。

我的问题是 – 如何从Startup.cs中访问命令行参数? 我已尝试在Startup.cs中使用IConfiguration和IConfigurationRoot进行构造函数注入,但这些都没有注册。

我失踪了

 .ConfigureServices(s => s.AddSingleton(config)) 

在我的program.cs中。 固定版本如下:

上述就是C#学习教程:.NET Core Web项目 – 使用命令行参数分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public static void Main(string[] args) { var config = new ConfigurationBuilder() .AddCommandLine(args) .Build(); var host = new WebHostBuilder() .UseKestrel() .UseConfiguration(config) .ConfigureServices(s => s.AddSingleton(config)) .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup() .Build(); host.Run(); }` 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/955628.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐