5种设置ASP.NET Core应用程序URL的方法

默认情况下,ASP.NET Core应用程序监听以下URL:

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

在这篇文章中,我展示了5种不同的方式来更改您的应用程序监听的URL。

•在Program.cs中使用 UseUrls()•环境变量 - 使用DOTNET_URLS或者 ASPNETCORE_URLS•命令行参数 - 设置命令行参数--urls•launchSettings.json - 设置 applicationUrl 属性•KestrelServerOptions.Listen() - 使用 Listen() 手动使用配置Kestrel服务器的地址

我将在下面更详细地介绍每个选项。

UseUrls()

设置绑定URL的第一个也是最简单的方法,在配置IWebHostBuilder的时候使用UseUrls()进行硬编码。

public class Program
{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();webBuilder.UseUrls("http://localhost:5003", "https://localhost:5004");});
}

环境变量

.NET Core使用两种类型的配置:

•DOTNET_URLS•ASPNETCORE_URLS

如果您同时设置了这两个环境变量,那么ASPNETCORE_URLS参数优先。

您可以用不同的方式设置环境变量。例如,使用命令行:

setx ASPNETCORE_URLS "http://localhost:5001"

使用powershell

$Env: ASPNETCORE_URLS = "http://localhost:5001"

使用bash:

export ASPNETCORE_URLS="http://localhost:5001;https://localhost:5002"

如上所示,您还可以通过使用分号分隔多个地址来传递多个地址以进行监听(使用HTTP或HTTPS)。

命令行参数

设置主机配置值的另一种方法是使用命令行。如果设置了命令行参数,那么会覆盖环境变量的值, 只需使用--urls参数:

dotnet run --urls "http://localhost:5100"

和上面一样,您可以通过使用分号将多个URL分开来设置多个URL:

dotnet run --urls "http://localhost:5100;https://localhost:5101"

环境变量和命令行参数可能是在生产环境中为应用程序设置URL的最常见方法,但是它们对于本地开发来说有点麻烦。通常使用launchSettings.json会更容易。

launchSettings.json

大多数 .NET项目模板在Properties文件夹中都包含launchSettings.json文件,这个文件包含了启动.NET Core应用程序的各种配置文件。

{"iisSettings": {"windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": {"applicationUrl": "http://localhost:38327","sslPort": 44310}},"profiles": {"IIS Express": {"commandName": "IISExpress","launchBrowser": true,"environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}},"TestApp": {"commandName": "Project","launchBrowser": true,"applicationUrl": "https://localhost:5001;http://localhost:5000","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}}}
}

launchSettings.json还提供了environmentVariables参数,您可以用它来设置环境变量,就像上面这样,然后我们可以选择不同的启动类型:

KestrelServerOptions.Listen

默认情况下,几乎所有的.NET Core应用程序都配置了Kestrel,如果需要,您可以手动配置Kestrel的端点,也可以配置KestrelServerOptions。

public class Program
{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();webBuilder.UseKestrel(opts =>{// Bind directly to a socket handle or Unix socket// opts.ListenHandle(123554);// opts.ListenUnixSocket("/tmp/kestrel-test.sock");opts.Listen(IPAddress.Loopback, port: 5002);opts.ListenAnyIP(5003);opts.ListenLocalhost(5004, opts => opts.UseHttps());opts.ListenLocalhost(5005, opts => opts.UseHttps());});});
}

我个人没有以这种方式在Kestrel中设置监听端点,但是很高兴知道可以根据需要完全控制Kestrel。

总结

在这篇文章中,我展示了五种不同的方式来设置应用程序监听的URL。UseUrls()是最简单的一种,但通常不适合在生产中使用, launchSettings.json文件是在开发环境中设置的URL是非常有用的。在生产中我们通常使用命令行参数--urls或者环境变量ASPNETCORE_URLS和DOTNET_URLS, 希望对您有帮助。

原文链接: https://andrewlock.net/5-ways-to-set-the-urls-for-an-aspnetcore-app/[1]  

欢迎扫码关注我们的公众号 【全球技术精选】,专注国外优秀博客的翻译和开源项目分享,也可以添加QQ群 897216102

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

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

相关文章

分布式部署_Apache Spark探秘:三种分布式部署方式比较

【本文详细介绍了Spark的三种部署方式及其比较&#xff0c;欢迎读者朋友们阅读、转发和收藏&#xff01;】目前Apache Spark支持三种分布式部署方式&#xff0c;分别是 standalone 、 spark on mesos 和 spark on YARN &#xff0c;其中&#xff0c;第一种类似于MapReduce 1.0所…

备战美赛,这些你应该知道的知识点

国赛刚过完 美赛就接踵而来 只剩下两个多月的时间 不少准备参赛的小伙伴在后台咨询 该如何准备美赛 为了更好地帮助大家进攻美赛 超模君特意邀请到 今年国赛A题Matlab创新奖&一等奖获奖者 方天庆同学 &#xff08;获奖队伍&#xff1a;黄璐哲、方天庆、帅青&#xff09; 为…

2020研究生数学建模结果_关于举办2020年全国研究生数学建模大赛的通知

2020年全国研究生数学建模大赛开始啦&#xff01;各学院&#xff1a; 为在大学生中倡导学习统计、应用统计的良好氛围&#xff0c;适应大数据时代的高校统计和数据科学人才的培养要求&#xff0c;提高研究生的数据挖掘、数据分析、运用计算机处理数据的能力&#xff0c;加强创新…

我计划搞直播了,欢迎来一起聊一聊

阅读本文大概需要2分钟。说实话从2015年开始写公众号至今&#xff0c;能想到的是我的坚持&#xff0c;没想到的是居然能快速收获这么多关注&#xff0c;更没想到是能影响一大群人,得到大家的尊称张队。公众号始终围绕着dotnet 生态进行&#xff0c;2015年dotnet刚开始开源&…

code删除前两个_听说用python来批量删除说说也挺快乐的呢~

原文链接听说用python来批量删除说说也挺快乐的呢~​mp.weixin.qq.com先睹为快在终端运行如下命令即可&#xff1a;python clearQzone.py (--manual)如果加了--manual选项&#xff0c;意思就是每条说说删除前你都要先人工确认一下是否真的需要删除它&#xff0c;否则就是直接把…

放弃Python转向Go语言:我们找到了以下9大理由

转用一门新语言通常是一项大决策&#xff0c;尤其是当你的团队成员中只有一个使用过它时。今年 Stream 团队的主要编程语言从 Python 转向了 Go。本文解释了其背后的九大原因以及如何做好这一转换。 为什么使用 Go 原因 1&#xff1a;性能 Go 极其地快。其性能与 Java 或 C相似…

开源许可证的变更带给我们什么启示?

喜欢就关注我们吧&#xff01;近日&#xff0c;Elastic 公司将旗下的知名开源项目 Elasticsearch 和 Kibana 的开源许可证变更的事件持续发酵&#xff0c;再次把我们的目光聚焦到开源公司与云服务厂商之间的矛盾旋涡中。事实上&#xff0c;Elastic 公司与云服务厂商的“积怨”由…

as本地仓库更改_将gitee仓库连接GitHub Desktop。新建更改仓库并上传至gitee。

Ⅰ、在GitHub Desktop上登陆账号GitHub Desktop上只能用GitHub账户登陆第一次打开GitHub Desktop使会直接有登陆界面出现的&#xff0c;直接用GitHub的账户登陆就好了可以在最上方的菜单&#xff0c;File → Options打开页面登陆 &#xff08;详细操作见图&#xff09;这是已经…

有人问我:程序员要供祖师爷的话该供谁?

有人问我&#xff1a;程序员是不是都抽烟&#xff1f; 我想了半天我抽烟完全是因为医生&#xff0c;在我刚上大学的时候还不会吸烟&#xff0c;有一天嗓子特别疼&#xff0c;我就去医院检查&#xff0c;大夫检查之后对我说&#xff0c;没什么太大毛病&#xff0c;你少抽点烟就行…

java父类转子类_java中什么是继承,和继承的接口的关系?

继承的概念继承是java面向对象编程技术的一块基石&#xff0c;因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为&#xff0c;使得子类对象&#xff08;实例&#xff09;具有父类的实例域和方法&#xff0c;或子类从父类继承方法&#xff0c;使得子类具有父类相…

VSCode+BeetleX.VueHost开发Vue应用

BeetleX.VueHost是一个用于打包Vue和提供HTTP服务的程序&#xff0c;它能提供在没安装vue-cli和webpack的情况下开发vuejs应用。使用 BeetleX.VueHost无须安装下载运行即可&#xff0c;可以通过以下地址下载&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1z4Jfz…

8 无法识别raid盘_王者荣耀防沉迷规则再升级;未来将采用人脸识别验证

昨天&#xff0c;《王者荣耀》官网发布了《未成年人防沉迷新规接入公告》&#xff0c;这份公告对于未成年人的可游玩时长、充值金额等都做出了规定。规则规定&#xff1a;在游玩时长方面&#xff0c;未成年用户每日22时至次日8时禁玩&#xff0c;法定节假日每日限玩3小时&#…

干货|MIT线性代数课程精细笔记[第二课]

0前言 MIT线性代数课程精细笔记[第一课]笔记见MIT线性代数课程精细笔记[第一课]。 该笔记是连载笔记&#xff0c;希望对大家有帮助。 1知识概要 这一节中我们介绍一下消元法&#xff0c;即是上一节中我们提到的“系统化”求解方程所用的方法&#xff0c;通过矩阵消元运算可以很…

在以下说法错误的是_外行人对翡翠有哪些错误认知?行家给你最精准的答案

玉石行业虽然在我们国家有着很悠久的历史&#xff01;但是就行业认知而言&#xff0c;仍然属于小众行业。正所谓隔行如隔山&#xff0c;在很多外行人眼里&#xff0c;翡翠行业很神秘&#xff0c;而且水也很“深”&#xff01;甚至很多人认为这个行业“三年不开张&#xff0c;开…

参加美赛,需掌握这些算法和模型

昨天晚上的直播甚是精彩 方同学不但分享了 获奖论文、解题技巧 还分享了 赛前准备、比赛经验和日程规划 po几张截图让大家感受下 此时此刻可能会有不少童鞋 正在为错过直播而懊悔 不用担心 超模君又准备了一份豪华大礼 本周 超模君特意邀请到 今年美赛A题特等奖获奖者 徐乾同学…

yii 使用 有赞sdk_有赞ABTest系统:数据驱动增长实践

‍‍点击关注“有赞coder”获取更多技术干货哦&#xff5e;作者&#xff1a;子固部门&#xff1a;数据中台一、背景有赞是一个商家服务公司&#xff0c;致力于帮助每一位重视产品和服务的商家成功。随着移动互联网的流量增长红利渐渐褪去&#xff0c;商家获得新的流量越来越困难…

分布式数字签名令牌TokenProvider

在分布式系统中&#xff0c;令牌签发系统往往需要跟令牌应用系统分离&#xff0c;并且应用系统可以独立验证令牌&#xff0c;无需请求签发系统接口。数字签名令牌属于发明专利《基于令牌协议的令牌组网构建方法》&#xff08;已授权专利号201510213377.X&#xff09;的一部分&a…

热力地图高德_高德地图:最新动态

高德地图是国内最专业的手机地图&#xff0c;超过3.2亿用户在使用&#xff01;高德地图是应用商店上数据准确率最高、最省流量、躲避拥堵功能最强大的手机地图&#xff0c;平均每天为用户省油61万升&#xff01;高德地图今日宣布上线货车导航功能&#xff0c;帮助全国3000万货车…

有效处理 Java 异常三原则

Java中异常提供了一种识别及响应错误情况的一致性机制&#xff0c;有效地异常处理能使程序更加健壮、易于调试。 异常之所以是一种强大的调试手段&#xff0c;在于其回答了以下三个问题&#xff1a; 什么出了错? 在哪出的错? 为什么出错? 在有效使用异常的情况下&#x…

人口危机 资本剥削导致生育率低迷

不久前&#xff0c;相关部门公布数据&#xff0c;2020年出生并已经到公安机关进行户籍登记的新生儿共1003.5万。对此&#xff0c;铁流先不做评论&#xff0c;我们先看数据。以下是1949年和1981年以来人口出生情况&#xff1a;1949年: 1275万......1981年&#xff1a;2064万1982…