当前位置 : 主页 > 网络编程 > ASP >

ASP.NETCore启动地址配置方法及优先级顺序

来源:互联网 收集:自由互联 发布时间:2023-01-17
目录 一、设置方法 1.applicationUrl属性 2.环境变量 3.命令行参数 4.UseUrls方法 5.UseKestrel方法 二、优先级 结论: 默认情况下,ASP.NET Core使用下列2个启动地址: http://localhost:5000 https://localho
目录
  • 一、设置方法
    • 1.applicationUrl属性
    • 2.环境变量
    • 3.命令行参数
    • 4.UseUrls方法
    • 5.UseKestrel方法
  • 二、优先级
    • 结论:

      默认情况下,ASP.NET Core使用下列2个启动地址:

      http://localhost:5000
      https://localhost:5001

      同时,我们也可以通过配置或代码方式修改启动地址。

      那么,这几种修改方式都是什么?谁最后起作用呢?

      一、设置方法

      1.applicationUrl属性

      launchSettings.json文件中的applicationUrl属性,但是仅在本地开发计算机上使用:

      "profiles": {
          "WebApplication1": {
              ...
              "applicationUrl": "http://localhost:5100",
          }
      }

      2.环境变量

      环境变量ASPNETCORE_URLS,有多个设置位置,下面演示的是使用launchSettings.json文件:

      "profiles": {
          "WebApplication1": {
              ...
              "environmentVariables": {
                  "ASPNETCORE_URLS": "http://localhost:5200"
              }
          }
      }

      3.命令行参数

      命令行参数--urls,有多个设置位置,下面演示的是使用launchSettings.json文件:

      "profiles": {
          "WebApplication1": {
              ...
              "commandLineArgs": "--urls http://localhost:5300",
          }
      }

      4.UseUrls方法

      修改ConfigureWebHostDefaults方法:

      public static IHostBuilder CreateHostBuilder(string[] args) =>
          Host.CreateDefaultBuilder(args)
              .ConfigureWebHostDefaults(webBuilder =>
              {
                  webBuilder.UseStartup<Startup>();
                  webBuilder.UseUrls("http://localhost:5400");
              });

      5.UseKestrel方法

      修改ConfigureWebHostDefaults方法:

      public static IHostBuilder CreateHostBuilder(string[] args) =>
          Host.CreateDefaultBuilder(args)
              .ConfigureWebHostDefaults(webBuilder =>
              {
                  webBuilder.UseStartup<Startup>();
                  webBuilder.UseKestrel(options=> options.ListenLocalhost(5500, opts => opts.Protocols = HttpProtocols.Http1));
              });

      二、优先级

      通过将上述设置方式进行组合,发现优先级顺序如下:

      • UseKestrel方法
      • 命令行参数--urls
      • UseUrls方法
      • 环境变量ASPNETCORE_URLS
      • applicationUrl属性
      • 默认值 

      结论:

      如果在同一台机器上运行多个ASP.NET Core实例,使用默认值肯定不合适。

      由于UseKestrel方法不能被覆盖,而环境变量ASPNETCORE_URLS容易造成全局影响。

      建议:开发时通过UseUrls方法指定默认启动地址,使用命令行参数--urls运行时修改启动地址。

      到此这篇关于ASP.NET Core启动地址配置方法及优先级顺序的文章就介绍到这了,更多相关ASP.NET Core启动地址配置内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

      上一篇:编译 dotnet和aspnetcore 源代码详情
      下一篇:没有了
      网友评论