Asp.net core 我可以在ASP.net Core 2.0预览版的appsettings.json中设置侦听URL吗?

Asp.net core 我可以在ASP.net Core 2.0预览版的appsettings.json中设置侦听URL吗?,asp.net-core,.net-core,appsettings,kestrel-http-server,Asp.net Core,.net Core,Appsettings,Kestrel Http Server,我正在创建一个ASP.net Core 2.0应用程序,在.net Core 2.0运行时上运行,这两个应用程序当前都处于预览版本。但是,我不知道如何让Kestrel使用默认的http://localhost:5000收听URL 我可以在Google上找到的大多数文档都谈到了服务器.url设置,即使在1.0-preview中也似乎已经更改为url,但是这两种设置都不起作用(打开调试日志记录时Kestrel告诉我没有配置监听端点) 很多文档还谈到了hosting.json,我不能使用默认的apps

我正在创建一个ASP.net Core 2.0应用程序,在.net Core 2.0运行时上运行,这两个应用程序当前都处于预览版本。但是,我不知道如何让Kestrel使用默认的
http://localhost:5000
收听URL

我可以在Google上找到的大多数文档都谈到了
服务器.url
设置,即使在1.0-preview中也似乎已经更改为
url
,但是这两种设置都不起作用(打开调试日志记录时Kestrel告诉我没有配置监听端点)

很多文档还谈到了hosting.json,我不能使用默认的appsettings.json。但是,如果我比较一下加载新配置的推荐方法,除了加载appsettings.json之外,这与新方法的功能非常相似


我目前不明白appsettings.json和
IConfigureOptions
是如何关联的,如果有的话,那么我的问题很可能是因为我不了解它们的实际功能。

我已经解决了这个问题

public static IWebHost BuildWebHost(string[] args) => 
        WebHost.CreateDefaultBuilder(args)
            .UseConfiguration(new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("hosting.json", optional: true)
                .Build()
            )
            .UseStartup<Startup>()
            .Build();

对我来说就像过去一样

WebHost.CreateDefaultBuilder(args)
    .UseConfiguration( new ConfigurationBuilder().AddCommandLine(args).Build() )
    .UseStartup<Startup>()
    .Build();

以上这些都不适合我。这一个对我有用:

public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
            .UseKestrel(options =>
            {
                options.Listen(System.Net.IPAddress.Loopback, 44306, listenOptions =>
                {
                    listenOptions.UseHttps("mysertificate.pfx", "thecertificatePassword");
                });
            })
        .Build();
公共静态IWebHost BuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseKestrel(选项=>
{
options.Listen(System.Net.IPAddress.Loopback,44306,listenOptions=>
{
使用https(“myCertificate.pfx”,“证书密码”);
});
})
.Build();
(将44306换成您喜欢的端口)


要在appsettings.json中设置侦听URL,请添加“Kestrel”部分,这里可能有很多帮助:


参考资料:

谢谢。我误解了
CreateDefaultBuilder
使用
ConfigureAppConfiguration
加载appsettings.json,这与
UseConfiguration
不同。我发现appsettings.json可用于设置URL,请参见此处:它是否影响服务器实例上的部署?如果在我的服务配置中还设置了ASPNETCORE_URL,那么优先级或顺序如何?看起来ASPNETCORE_URL(环境变量)的优先级高于appsettings.json-请参阅
dotnet myapp.dll --urls "http://*:5060;"
public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
            .UseKestrel(options =>
            {
                options.Listen(System.Net.IPAddress.Loopback, 44306, listenOptions =>
                {
                    listenOptions.UseHttps("mysertificate.pfx", "thecertificatePassword");
                });
            })
        .Build();
"Kestrel": {
    "EndPoints": {
        "Http": {
            "Url": "http://localhost:5000"
        }
    }
}