ASP.NET Core 修改默认端口:从UseUrls到host.json配置
98 浏览量
更新于2024-08-31
收藏 337KB PDF 举报
"asp.net core 修改默认端口的几种方法"
ASP.NET Core 是微软推出的高性能、跨平台的开源框架,用于构建Web应用。默认情况下,ASP.NET Core 的开发服务器Kestrel会监听5000端口。但在实际开发或部署过程中,我们可能需要自定义端口,以避免冲突或者满足特定需求。以下是两种常见的修改ASP.NET Core 应用默认端口的方法:
### 方法一:UseUrls
在 `Program` 类中的 `CreateWebHostBuilder` 方法中,可以通过调用 `UseUrls` 扩展方法来设置监听的URL。例如,如果你想将应用监听在8080端口,可以修改代码如下:
```csharp
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://*:8080") // 将8080作为监听端口
.UseStartup<Startup>();
```
这里,`"*"` 表示任何IP地址,所以应用将在所有网络接口上监听8080端口。但是,如果需要频繁更换端口,这种方法并不理想,因为每次更改都需要修改代码并重新发布。
### 方法二:host.json 和 IConfiguration
ASP.NET Core 支持通过配置文件进行端口设置,特别是在发布环境中,这更加灵活。首先,创建一个名为 `host.json` 的文件放在项目的根目录下,然后添加以下内容:
```json
{
"webHost": {
"urls": [
"http://localhost:8081"
]
}
}
```
这里的 `urls` 字段指定了应用启动时监听的URL。现在,当你运行或发布应用时,它将自动使用配置文件中指定的端口。然而,这种方法需要确保 `host.json` 文件能够正确地随应用一起发布,并且在运行时可以被读取。
**注意**:在开发环境中,可以通过 `dotnet run --urls=http://*:8081` 命令行参数临时指定端口。而在生产环境,通常会通过环境变量、配置服务或其他方式获取端口设置。
### 扩展:使用IIS反向代理
如果你的ASP.NET Core应用部署在IIS下,还可以通过IIS的URL重写模块将请求转发到非默认端口的应用。这样,用户可以访问IIS的默认端口(如80),而内部请求则会被转发到应用的实际端口。
### 总结
选择哪种方法取决于你的具体需求和工作流程。`UseUrls` 方法简单直接,适合快速测试;而使用 `host.json` 结合 `IConfiguration` 更加灵活,适用于多环境部署。对于IIS部署,结合URL重写可以提供更高级别的控制和用户体验。无论哪种方式,理解如何自定义端口都是ASP.NET Core开发者必备的技能。
2011-10-24 上传
点击了解资源详情
2011-05-10 上传
2008-04-14 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2013-10-26 上传
点击了解资源详情
weixin_38711008
- 粉丝: 8
- 资源: 939
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新