我正在创建一个ASP.net Core2.0应用程序,以在.net Core2.0运行时上运行,这两者目前都在预览版本中。但是,我不知道如何让Kestrel使用默认的http://localhost:5000
侦听URL以外的其他内容。
我可以用谷歌谈论的大多数文档都是关于server.urls
设置的,即使在1.0预览版中,它似乎也被更改为只是urls
,但是两者都不起作用(打开调试日志,Kestrel告诉我没有配置侦听端点)。
很多文档也谈到了hosting.json
,我不能使用默认的appsettings.json。但是,如果我比较一下加载新配置的推荐方法,这看起来与新的WebHost.CreateDefaultBuilder
方法非常相似,只是它加载了appsettings.json。
我目前不明白appsettings.json和IConfigureOptions<T>
之间有什么关系,如果有的话,所以我的麻烦可能源于对KestrelServerOptionsSetup
实际工作缺乏了解。
发布于 2017-05-22 09:14:51
我让它和这个一起工作
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseConfiguration(new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.Build()
)
.UseStartup<Startup>()
.Build();
和hosting.json
{ "urls": "http://*:5005;" }
发布于 2019-01-21 09:14:58
若要在appsettings.json中设置侦听URL,请添加"Kestrel“部分:
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://localhost:5000"
}
}
}
参考资料:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2
发布于 2017-07-06 17:20:03
对我来说就像以前一样
WebHost.CreateDefaultBuilder(args)
.UseConfiguration( new ConfigurationBuilder().AddCommandLine(args).Build() )
.UseStartup<Startup>()
.Build();
然后
dotnet myapp.dll --urls "http://*:5060;"
https://stackoverflow.com/questions/44117840
复制