Asp.Net 核心 2.2 UseUrls 被忽略

Asp.Net Core 2.2 UseUrls is ignored

我的 Asp.Net Core 2.2

中有以下代码
public class Program
{
    public static void Main(string[] args)
    {
        var urls = new string[] { "https://localhost:3045" };
        CreateWebHostBuilder(args, urls).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args, string[] bindingUrls) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureServices(services => services.AddAutofac())
            .ConfigureKestrel(opt =>
            {
                opt.AddServerHeader = false;
            })
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseUrls(bindingUrls)
            .UseStartup<Startup>();
}

然而,当我调试网站时,网站是在 https://localhost:44326/ 上启动的,为什么在 launchSettings.json 中使用 为什么会这样?

.UseUrls(bindingUrls) 将配置 Kestrel url。

dotnet 核心始终位于 IIS/IIS Express 后面的 Kestrel 作为代理。您获得的 url 是您的 IIS Express.

的配置

这 url 可以在您的项目设置或 launchSettings.json

中更改

如果您只想 运行 在 Kestrel 用户上使用 cli 命令 dotnet rundotnet watch run