網站首頁 編程語言 正文
以下文章來源于微信公眾號DotNetCore實戰
在本地開發環境下,我們知道可以通過修改launchSettings.json
文件中的端口號來實現端口切換。
"WebApplication1": { ? ? ? "commandName": "Project", ? ? ? "launchBrowser": true, ? ? ? "launchUrl": "weatherforecast", ? ? ? "environmentVariables": { ? ? ? ? "ASPNETCORE_ENVIRONMENT": "Development" ? ? ? }, ? ? ? "applicationUrl": "https://*:8081;http://*:8080" ? ? }
但是將程序發布之后,我發現它一直監聽的是 5000 端口,請問我如何在 生產環境下做 port
的修改,我試了下 UseUrls
貌似不起效果。
public static IHostBuilder CreateHostBuilder(string[] args) => ? ? ? ? ? ? Host.CreateDefaultBuilder(args) ? ? ? ? ? ? ? ? .ConfigureServices((hostContext, services) => ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? services.AddHostedService<Worker>(); ? ? ? ? ? ? ? ? }).UseWindowsService() ? ? ? ? ? ? ? ? .ConfigureWebHostDefaults(webBuilder => ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? webBuilder.UseStartup<Startup>() ? ? ? ? ? ? ? ? ? ? .UseUrls("http://*:8080","https://*:8081"); ? ? ? ? ? ? ? ? }) ? ? ? ? ? ? .UseSerilog();
用 UseUrls
是可以的,只不過你把它的順序弄反了,將 webBuilder.UseStartup()
和 .UseUrls("http://*:8080","https://*:8081")
對調一下即可, 希望對你有用。
public static IHostBuilder CreateHostBuilder(string[] args) => ? ? ? ? ? ? Host.CreateDefaultBuilder(args) ? ? ? ? ? ? ? ? .ConfigureServices((hostContext, services) => ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? services.AddHostedService<Worker>(); ? ? ? ? ? ? ? ? }).UseWindowsService() ? ? ? ? ? ? ? ? .ConfigureWebHostDefaults(webBuilder => ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? webBuilder.UseUrls("https://*:8081", "http://*:8080"); ? ? ? ? ? ? ? ? ? ? webBuilder.UseStartup<Startup>(); ? ? ? ? ? ? ? ? }) ? ? ? ? ? ? .UseSerilog(); }
Stephen LAI:
可以在程序啟動的時候通過命令行 --urls 參數去配置,參考如下:
dotnet run --urls "http://localhost:5100;https://localhost:5101"
或者:
dotnet /Product/Full/Path/Product.dll --urls "http://localhost:5100;https://localhost:5101"
我們一定要操控 LaunchSettings.json 文件的話,也是可以實現的,配置 iisSettings 節點即可。
{ ? "iisSettings": { ? "iisExpress": { ? "applicationUrl": "http://localhost:8080", ? "sslPort": 96085<== Change_This as you wish ? } }
總結:
其實修改 asp.net core
程序的默認端口的方法特別多,可以通過 配置文件,硬編碼,命令行,環境變量 等多種方式,我在項目開發中更多的使用 命令行方式,畢竟是寫到 dockerfile
中的,很方便。
相關推薦
- 2022-11-11 python?使用第三方庫requests-toolbelt?上傳文件流的示例_python
- 2022-12-09 C++?Boost?Variant示例超詳細講解_C 語言
- 2022-12-06 React?Hook中的useEffecfa函數的使用小結_React
- 2023-07-04 Guava 之 EventBus
- 2022-04-14 解決:Failed to run File Watcher ‘goimports‘.The watc
- 2022-11-21 Android?Jetpack系列之App?Startup使用詳解_Android
- 2022-10-16 解析React?ref?命令代替父子組件的數據傳遞問題_React
- 2023-10-12 React實現Tab欄切換
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支