ASP.NET Core MVC 2.1
在文档here中,我看到了CreateDefaultBuilder(string[] args)
方法。但我没有看到它使用的任何例子。在这种情况下,该方法预期哪些参数?我可以传递这样的参数:"Hello", "World"
但这不太可能是该方法所期望的......
答案 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
以下文章也应该有所帮助
ASP.NET Core – passing command-line arguments to Startup class