NET Web宿主(Web Host) 【下】

2021-04-08 23:27

阅读:625

标签:builder   影响   created   conf   效果   net   ado   action   rect   

重载配置

       使用Configuration来配置一个Web 宿主。在下面的示例中,宿主配置以可选的形式在hostsettings.json 文件中指定。从hostsettings.json文件中加载的任何配置都可能被命令行参数重写。内置的配置(config 文件)被UseConfiguration 用来配置宿主。IWebHostBuilder 配置被添加到app的配置中,然而反过来却是不正确的。ConfigureAppConfiguration 不会影响IWebHostBuilder 配置。

      首先我们重载由UseUrls 以hostsettings.json 文件形式提供的配置,然后是命令行参数:

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args)
    {
        var config = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("hostsettings.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!"));
            });
    }
}

        hostsettings.json

{
    urls: "http://*:5005"
}

       注意:UseConfiguration 只会从提供的IConfiguration中拷贝键值到宿主构造器配置中。因此,为JSON, INI, and XML设置文件设置reloadOnChange: true是没有任何效果的。

NET Web宿主(Web Host) 【下】

标签:builder   影响   created   conf   效果   net   ado   action   rect   

原文地址:https://www.cnblogs.com/qianxingmu/p/12455008.html


评论


亲,登录后才可以留言!