【问题标题】:Asp.Net Core 2.2 UseUrls is ignoredAsp.Net Core 2.2 UseUrls 被忽略
【发布时间】:2020-01-12 01:56:16
【问题描述】:

我的 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 中使用 为什么会这样?

【问题讨论】:

  • 您是直接启动 IIS express 还是可执行文件?它是 Visual Studio 中运行按钮附近的组合框。
  • 使用 IIS Express 启动。
  • 项目属性中没有设置https://localhost:44326/?如果您在发布而不是调试中构建项目,它是否可以正常工作?

标签: c# asp.net-core iis .net-core kestrel


【解决方案1】:

.UseUrls(bindingUrls) 将配置 Kestrel url。

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

这个网址可以在你的项目设置中更改或者launchSettings.json

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

【讨论】:

  • 您可以运行 IIS Express 或直接运行项目 - 这是 Visual Studio 中的 UI 选项,不需要 cli 命令。
猜你喜欢
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 2018-04-12
  • 2019-08-13
  • 1970-01-01
  • 2020-04-06
  • 2013-07-12
相关资源
最近更新 更多