指定 ASP.NET Core 应用监听的端口
指定 ASP.NET Core 应用监听的端口
ASP.NET Core 应用默认监听的端口是 5000 , 在调试或者部署的过程中经常需要指定监听的端口来来运行, 本文就这个问题, 进行一个总结, 可以通过下面的方法来指定运行端口。
使用命令行参数
使用命令行参数 --urls
是最常用的方法了, 测试或者开发环境下用的最多。 只需要在运行命令中添加这个参数即可, 如下所示:
dotnet run --urls=http://localhost:5001/
在 appsettings.json
中添加配置
如果倾向于使用配置文件, 可以在 appsettings.json
文件中添加 urls
节点, 如下所示:
{
"urls": "http://localhost:5001"
}
这样, 执行 dotnet run
时, 会自动读取这个配置。
环境变量
ASP.NET Core 应用在启动时会自动读取名称以 ASPNETCORE
开头的环境变量, 所以也可以通过环境变量来指定监听的端口。
export ASPNETCORE_URLS=http://localhost:5001/
dotnet run
在微软提供的
mcr.microsoft.com/dotnet/core/aspnet
Docker 镜像中, 就是用这个环境变量来指定监听端口的。
使用 UseUrls()
函数
如果倾向于使用代码, 则可以在 Program.cs
文件中的 ConfigureWebHostDefaults
方法中使用 UseUrls()
函数, 在代码中指定要监听的端口:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(builder => {
builder.UseStartup<Startup>();
builder.UseUrls("http://localhost:5001/");
});
在实际的项目中, 可以将要监听的端口配置到其它地方, 而不必硬编码在代码中过。
使用 Kestrel 服务器选项
ASP.NET Core 内置的 kestrel 服务器, 也提供了许多选项, 当然也包括了要监听的端口, 要在应用中使用 Kestrel 服务器选项, 需要在 Program.cs
文件中的 CreateHostBuilder
方法中添加 ConfigureServices
方法, 对 KestrelServerOptions
进行配置, 代码如下:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((context, services) => {
services.Configure<KestrelServerOptions>(
context.Configuration.GetSection("kestrel")
);
})
.ConfigureWebHostDefaults(builder =>{
builder.UseStartup<Startup>();
});
也可以在
Startup.cs
文件中的ConfigureServices
方法中进行配置。
然后在 appsettings.json
中添加 kestrel
节点, 内容如下所示:
{
"kestrel": {
"endPoints": {
"http": {
"url": "http://localhost:5001/"
}
}
}
}
KestrelServerOptions
还提供了许多额外的配置选项, 比如最大并发连接数、是否返回服务器名称标头等, 具体可以参考 kestrel-aspnetcore-3.1 , 如果需要同时调整额外的服务器配置, 则推荐使用这种方式。
- spring-data-mongodb之Repositor操作数据
- mongodb java操作语法
- spring-data-mongodb之查询操作
- spring mvc开发的mongodb网页版客户端
- nginx转发后后端怎么获取用户真实IP
- MongoDB aggregation $unwind
- spring data mongodb 代码连接数据库方式
- spring data mongodb dbref 关联查询
- spring-data-mongodb mapreduce使用
- 项目中如何设计通用的评论模块
- java8 stream
- spring boot中自定义错误提示页面
- spring boot中删除Data MongoDB的_class
- 用aop加redis实现通用接口缓存
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android pull解析xml的实现方法
- Android实现QQ图片说说照片选择效果
- 一个简单的toolabar结合drawlayout使用方法
- 利用DrawerLayout和触摸事件分发实现抽屉侧滑效果
- Android App端与PHP Web端的简单数据交互实现示例
- Android开发实现读取assets目录下db文件的方法示例
- Android Textview实现颜色渐变滚动效果
- Android中fragment+viewpager实现布局
- android自动工具类TextUtils使用详解
- Android常用正则表达式验证工具类(实例代码)
- Android webview实现拍照的方法
- Android ListView自定义Adapter实现仿QQ界面
- Android webview旋转屏幕导致页面重新加载问题解决办法
- Android系统对话框使用详解(最详细)
- Android webview 遇到android.os.FileUriExposedException错误解决办法