【发布时间】:2017-10-22 20:51:37
【问题描述】:
我正在学习如何在 ASP.NET Core 2 中使用,但遇到了一个相当烦人的问题。每当我运行我的应用程序时,Kestrel 服务器都会忽略我的端点配置,而是开始侦听随机端口。不用说,这不是我所期望的行为。在挖掘服务器日志时,我也看到了这条消息:
Overriding endpoints defined in UseKestrel() because PreferHostingUrls is set to true. Binding to address(es) 'http://localhost:<some random port>' instead.
到目前为止,我无法找到有关此“PreferHostingUrls”设置或如何更改它的任何文档。有谁知道我如何配置 Kestrel 以侦听指定端口而不是随机端口?
我的主机配置如下:
WebHost.CreateDefaultBuilder(args)
.UseConfiguration(config)
.UseKestrel(
options =>
{
options.Listen(IPAddress.Loopback, 50734);
options.Listen(IPAddress.Loopback, 44321, listenOptions =>
{
listenOptions.UseHttps("pidea-dev-certificate.pfx", "****************");
});
})
.UseStartup<Startup>()
.UseIISIntegration()
.Build();
【问题讨论】:
-
这是2.0的新特性,在
UseKestrel()之前或之后添加.PreferHostingUrls(false)会发生什么? -
@HenkHolterman 服务器仍然覆盖我配置的端点。
标签: c# asp.net port kestrel-http-server