为什么 Kestrel 不在指定端口监听?
Why Kestrel doesn't listen at specified port?
我正在尝试使用 kestrel 创建 Web 应用程序。在本文 https://docs.microsoft.com/pl-pl/aspnet/core/fundamentals/servers/kestrel?tabs=aspnetcore2x 中解释了如何使用红隼(代码如下):
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Listen(IPAddress.Loopback, 5000);
})
.Build();
IIS 默认在端口 49950 启动,但没有任何内容在端口 5000 上侦听。为什么它不起作用?我错过了什么吗?我想强制 kestrel 仅从代码中监听 5000(不干扰其他项目文件)。另外 UseUrls
是不可接受的,因为缺少 SSL 支持。我怎样才能做到这一点?
Kestrel 是应用程序使用的端口。 IIS Express 用作一种反向代理。
如果你想访问 kestrel 配置的端口,你必须将它作为控制台应用程序启动。单击开始按钮旁边的下拉按钮和 select YourCompany.YourApplication.Mvc
(或任何您的项目名称)而不是 "IIS Express"。然后单击开始,应用程序启动并出现一个控制台 window。
保存然后启动application/debugging。
如果您仍想使用 IIS-Express(因为您想将其托管在 IIS 上并希望更接近它),请转到项目属性,选择 "Debug" 选项卡,select 下拉列表中的 "IIS Express" 配置文件,然后更改 "App URL"。这将使用新端口更新 launchSettings.json
文件和 IIS Express 配置 (.vs/config/applicationhost.config
)。
我强烈建议不要手动编辑 launchSettings.json
文件,因为这可能会使 applicationhost.config
保持不变(这实际上决定了端口,launchSettings.json
只是告诉 IDE URL 在浏览器中打开)。
如果出于任何原因您在 launchSettings.json / applicationhost.config 中的网址不同步,您可以手动编辑 applicationhost.config 或直接删除它(.vs
文件夹通常是隐藏的,您可能必须先在资源管理器中显示隐藏的文件夹),它将在下次打开解决方案时重新创建 and/or 运行 应用程序。
我正在尝试使用 kestrel 创建 Web 应用程序。在本文 https://docs.microsoft.com/pl-pl/aspnet/core/fundamentals/servers/kestrel?tabs=aspnetcore2x 中解释了如何使用红隼(代码如下):
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Listen(IPAddress.Loopback, 5000);
})
.Build();
IIS 默认在端口 49950 启动,但没有任何内容在端口 5000 上侦听。为什么它不起作用?我错过了什么吗?我想强制 kestrel 仅从代码中监听 5000(不干扰其他项目文件)。另外 UseUrls
是不可接受的,因为缺少 SSL 支持。我怎样才能做到这一点?
Kestrel 是应用程序使用的端口。 IIS Express 用作一种反向代理。
如果你想访问 kestrel 配置的端口,你必须将它作为控制台应用程序启动。单击开始按钮旁边的下拉按钮和 select YourCompany.YourApplication.Mvc
(或任何您的项目名称)而不是 "IIS Express"。然后单击开始,应用程序启动并出现一个控制台 window。
保存然后启动application/debugging。
如果您仍想使用 IIS-Express(因为您想将其托管在 IIS 上并希望更接近它),请转到项目属性,选择 "Debug" 选项卡,select 下拉列表中的 "IIS Express" 配置文件,然后更改 "App URL"。这将使用新端口更新 launchSettings.json
文件和 IIS Express 配置 (.vs/config/applicationhost.config
)。
我强烈建议不要手动编辑 launchSettings.json
文件,因为这可能会使 applicationhost.config
保持不变(这实际上决定了端口,launchSettings.json
只是告诉 IDE URL 在浏览器中打开)。
如果出于任何原因您在 launchSettings.json / applicationhost.config 中的网址不同步,您可以手动编辑 applicationhost.config 或直接删除它(.vs
文件夹通常是隐藏的,您可能必须先在资源管理器中显示隐藏的文件夹),它将在下次打开解决方案时重新创建 and/or 运行 应用程序。