ASP.NET Core启动地址配置方法及优先级顺序 | .NET 6 版本

前言

上次,我们讨论了如何通过配置或代码方式修改启动地址:《ASP.NET Core启动地址配置方法及优先级顺序》。不过是基于 .NET 5 版本的。

由于 .NET 6 使用了最小 WEB API, 配置方式已经部分发生了变化。

设置方法

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 方法

.NET 5 版本

修改 ConfigureWebHostDefaults 方法:

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

.NET 6 版本

对应的方法为 WebApplicationBuilder.WebHost.UseUrls:

var builder = WebApplication.CreateBuilder(args);builder.WebHost.UseUrls("http://localhost:5400");

但是,运行后不起作用。

结果发现这是 .NET 6 的 BUG (Builder.WebHost.UseUrls does not seem to override default url),并将在 6.0.3 中修复:https://github.com/dotnet/aspnetcore/issues/38185

5. UseKestrel 方法

.NET 5 版本

修改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));});

.NET 6 版本

对应的方法为 WebApplicationBuilder.WebHost.ConfigureKestrel:

var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(options => options.ListenLocalhost(5500, opts => opts.Protocols = HttpProtocols.Http1));

6. WebApplication.Urls.Add 方法

.NET 6 版本

这是 .NET 6 下增加的新方法:

var app = builder.Build();
app.Urls.Add("http://localhost:5600");

7. appsettings.json 文件

可以在 appsettings.json 文件中设置 Kestrel 端口:

{"Kestrel": {"Endpoints": {"Https": {"Url": "https://*:5701"},"Http": {"Url": "http://*:5700"}}}
}

优先级

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

ecbda52dd2ad94bda2cad4b56bd1cac4.png

  • WebApplicationBuilder.WebHost.ConfigureKestrel 方法 / appsettings.json 文件 (2者可同时起作用)

  • WebApplication.Urls.Add 方法

  • 命令行参数 --urls

  • 环境变量 ASPNETCORE_URLS

  • applicationUrl 属性

  • 默认值

结论

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

由于 WebApplicationBuilder.WebHost.ConfigureKestrel/WebApplication.Urls.Add 方法不能被覆盖,而环境变量 ASPNETCORE_URLS 容易造成全局影响。

建议:始终使用 appsettings.json 文件配置启动地址。

如果你觉得这篇文章对你有所启发,请关注我的个人公众号”My IO“

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php保存附件到指定服务器,如何在PHP中将电子邮件附件保存到服务器?

两天的大部分时间里,我一直在与PHP的电子邮件阅读功能作斗争.我正在编写一个脚本来读取邮箱中的电子邮件并将所有附件保存到服务器上.如果你曾经做过类似的事情,你可能会理解我的痛苦:PHP在电子邮件方面表现不佳!我已连接到POP3服务器,我可以迭代文件.这是代码的大致轮廓:if (!…

Java基础- super 和 this 解析

1. superkeyword表示超&#xff08;父&#xff09;类的意思。this变量代表对象本身。 2. super訪问父类被子类隐藏的变量或覆盖的方法。当前类假设是从超类继承而来的&#xff0c;当调用super.XX()就是调用基类版本号的XX&#xff08;&#xff09;方法。当中超类是近期的父类。…

Android之Handler和Loooper源码分析

1、handler在主线程和子线程互相通信&#xff08;子线程和子线程的通信&#xff09;简单使用 我们使用handler&#xff0c;可以实现主线程和子线程之间的相互通信&#xff0c;然后子线程和子线程之间的通信&#xff0c;如果不清楚&#xff0c;基本用法请先参考我的这篇博客 An…

VS2010 安装问题积累

vs2010 SP1安装不成功 日志文件里显示&#xff1a;error 1719 windows installer service could not be accessed 解决方法&#xff1a;Start, then Run, then type regedit Go to HKEY_LOCAL_MACHINE\SYSTEM\CURRENT CONTROL SET\SERVICES\MSIserver\WOW64 …

unix环境高级编程基础知识之第二篇(3)

看了unix环境高级编程第三章&#xff0c;把代码也都自己敲了一遍&#xff0c;另主要讲解了一些IO函数&#xff0c;read/write/fseek/fcntl&#xff1b;这里主要是c函数&#xff0c;比较容易&#xff0c;看多了就熟悉了。对fcntl函数讲解比较到位&#xff0c;它可以得到和改变打…

Avalonia跨平台入门第七篇之RadioButton的模板

前面其实已经玩耍过单选按钮,只不过一直好意思分享出来;今天终于可以正大光明的分享出来了,直接看效果吧:第一次使用然后的傻傻的版本(根据单选按钮的选中状态来切换二个图片);真的好Low:样式写法和WPF没太大区别:类似WPF中的触发器,使用了附加属性:前台具体使用方式:最终简单的…

svn之bash: syntax error near unexpected token `(‘ 解决办法

1、问题 svn update *****/网易(杭州)网络有限公司SSL-20170623001 出现这个错误 bash: syntax error near unexpected token ( 2、解决办法 改成下面的就行 把svn update *****/网易’(‘杭州’)‘网络有限公司SSL-20170623001

Angular 4.x 事件管理器及自定义EventManagerPlugin

在 Angular 中如何为同一个表达式绑定多个事件呢&#xff1f;如果我们这样做可能会是这样的&#xff1a; <div><button (click, mouseover)"onClick()">Click me</button> </div>复制代码在继续分析绑定多个事件之前&#xff0c;我们先来分析…

dell服务器报内存配置不正确,DELL 服务器系统提示错误解决的若干办法

《DELL 服务器系统提示错误解决的若干办法》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《DELL 服务器系统提示错误解决的若干办法(9页珍藏版)》请在人人文库网上搜索。1、DELL 服务器有时会若硬件的改动&#xff0c;在开机以后会提示错误信息。信息一般会提示在显示…

JSP PO VO BO DTO POJO DAO解释

PO &#xff1a;persistent object持久对象 1 &#xff0e;有时也被称为Data对象&#xff0c;对应数据库中的entity&#xff0c;可以简单认为一个PO对应数据库中的一条记录。2 &#xff0e;在hibernate持久化框架中与insert/delet操作密切相关。 3 &#xff0e;PO中不应该包含任…

java之RSA和Base64加密帮助类

1、RSAUtils.java类 package com.sangfor.vpn.client.service.utils; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.math.BigIn…

更强的压缩比!PostgreSQL开始支持Zstd

文 | 局长出品 | OSC开源社区&#xff08;ID&#xff1a;oschina2013&#xff09;PostgreSQL 现已通过其 TOAST 存储技术提供压缩支持&#xff0c;并且在过去的一年里构建了 LZ4 压缩支持——用于压缩 WAL、备份压缩以及其他用途&#xff0c;现在 PostgreSQL 开发者正准备通过 …

最近面试遇到的技术问题

京东性能组 1. oracle awr2. mysql 慢查询3. redis详细架构、如何插入数据4. jmeter使用及集群搭建5. nginx使用及tomcat集成 6. 数据库及sql优化的方案 7. 写存储过程 8. linux使用9. shell10. java e代驾 1. 接口测试方法2. sockets连接建立方法3. http三次握手过程 京东金融…

小程序和app用什么样的服务器,小程序和APP的本质区别是什么?哪个更值得开发?...

从微信小程序和用户见面到现在&#xff0c;这个功能已经越来越完善了&#xff0c;经过更彻底的挖掘&#xff0c;商业价值被挖掘出来了&#xff01;小程序和app有什么区别呢&#xff1f;为什么广州会更受欢迎呢&#xff1f;两者的区别首先&#xff0c;两者的区别在于&#xff0c…

jbpm6.5 环境搭建(三) 数据库 切换

2019独角兽企业重金招聘Python工程师标准>>> 经过一晚上的折腾&#xff0c;终于搞定&#xff0c;成功切换Mysql 步骤一&#xff1a; 安装mysql 数据库 创建数据库 名字为jbpm 设置用户名密码 我本地默认使用 root 步骤二&#xff1a; ** 修改配置文件 ** F:\jb…

Android之HandlerThread源码分析和简单使用(主线程和子线程通信、子线程和子线程通信)

1、先熟悉handler方式实现主线程和子线程互相通信方式&#xff0c;子线程和子线程的通信方式 如果不熟悉或者忘记了&#xff0c;请参考我的这篇博客 Android之用Handler实现主线程和子线程互相通信以及子线程和子线程之间的通信 http://blog.csdn.net/u011068702/arti…

CENTOS6.4安装vnc-server

yum install tigervnc-servervi /etc/sysconfig/vncservers只需要两类内容就可以了&#xff0c;一个是定义用户&#xff0c;一个是定义用户登录情况&#xff1a;参考&#xff1a;VNCSERVERS"1:root 2:river"VNCSERVERARGS[1]"-geometry 800x600 -nolisten tcp&q…

Avalonia跨平台入门第八篇之控件的拖放

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板,过程还算顺利;今天接着把把ListBox中的Item拖放到Cavans中(基于官方的Samples实现的);直接看效果吧:1、ListBox中PointerPressed、DragOver事件:2、Canvas中的Drop事件:3、控件的移除无非就是通…

sql server 之函数小技巧 整数类型为空是用空字符串替代实现

1、判空函数 说明&#xff1a;使用指定的替换值替换 NULL。 语法&#xff1a;ISNULL ( check_expression , replacement_value ) 参数&#xff1a; check_expression&#xff1a;将被检查是否为 NULL 的表达式。check_expression 可以为任何类型。 replacement_value&#xff1…

车牌识别系统连不上服务器怎么办,车牌识别系统出现故障的解决方法有哪些?...

在日常生活中&#xff0c;各个小区、商业广场、酒店、办公楼等等地方出入口装置有车牌识别系统&#xff0c;有此可见车牌识别系统的使用越来越广泛。停车场办理系统的使用给人们带来便利的同时&#xff0c;也常常会出现一些小问题。今天小编就给大家分享一下车牌识别系统遇到故…