部署后端口 5001 不运行

问题描述 投票:0回答:1

我正在开发一个 ASP.NET Core 项目,最近在 VS 2022 中从 .NET 6 升级到 .NET 9。

在过去的几天里,由于(对我来说)未知的原因,在部署(到本地文件夹)后,我无法在本地主机 5001 端口上运行该应用程序。

当我在

appsettings.json
中使用下面的详细信息时,部署的应用程序可以在端口 5001 上正常运行:

 "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://127.0.0.1: 5000"
      },
      "Https": {
        "Url": "https://localhost: 5001"
      }}}

但是我无法从 VS 启动它。我没有对

launchsettings.json
program.cs
进行任何手动更改,我使用
app.UseHttpsRedirection()

是否可以为开发和部署设置默认设置?我在 .NET 6 中没有遇到任何麻烦,并且与端口完全无关。

deployment https asp.net-core-mvc kestrel .net-9.0
1个回答
0
投票

好吧,我设法自己找到了答案,虽然我没有找到VS这种行为的原因,即部署一个仅监听端口5000的应用程序。我所做的 - 最初,遵循Andrew Lock文章中的提示这里,我将这段代码添加到

program.cs

builder.WebHost.UseUrls("http://localhost:5000", "https://localhost:5001");

它有助于正确设置用于部署的端口,还可以用于调试的相同端口。我更喜欢为已部署的实例使用不同的端口,并为正在开发的实例使用不同的端口。最后我删除了上面的代码,并在

launchsettings.json
中设置了一对端口用于开发,在
program.cs
中我添加了以下内容:

if (!app.Environment.IsDevelopment())
{
    app.Urls.Add("http://localhost:8000");
    app.Urls.Add("https://localhost:8001");
}

现在它可以按需要工作了。希望它也能帮助任何人。

© www.soinside.com 2019 - 2024. All rights reserved.