哪个字符串值确实期望`CreateDefaultBuilder`方法?

时间:2018-05-06 09:31:42

标签: asp.net-mvc asp.net-core asp.net-core-mvc

ASP.NET Core MVC 2.1

在文档here中,我看到了CreateDefaultBuilder(string[] args)方法。但我没有看到它使用的任何例子。在这种情况下,该方法预期哪些参数?我可以传递这样的参数:"Hello", "World"但这不太可能是该方法所期望的......

1 个答案:

答案 0 :(得分:1)

命令行参数通常用于在执行时将一些配置信息传递给程序。

典型的程序调用{​​{1}}开始设置主机。

加载的任何配置都可能被命令行参数覆盖。

例如,以下内容直接取自文档中的一些或我自己的措辞

假设 CreateDefaultBuilder 这样的文件

hosting.json

首先使用 hosting.json 配置覆盖{ urls: "http://*:5005" } 提供的配置,命令行参数config second:

UseUrls

要指定特定URL上的主机运行,可以在执行public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("hosting.json", optional: true) .AddCommandLine(args) //<-- .Build(); return WebHost.CreateDefaultBuilder(args) .UseUrls("http://*:5000") //<-- .UseConfiguration(config) //<-- .Configure(app => { app.Run(context => context.Response.WriteAsync("Hello, World!")); }) .Build(); } } 时从命令提示符传入所需的值。命令行参数会覆盖hosting.json文件中的urls值,服务器将侦听端口8080:

dotnet run

参考Hosting in ASP.NET Core

以下文章也应该有所帮助

ASP.NET Core – passing command-line arguments to Startup class