ASP.NET Core Web API运行时如何在项目中硬编码替换localhost为机器IP地址
ASP.NET Core Web API 硬编码绑定指定IP解决方案
以下方案无需在IIS中做站点绑定配置,直接在项目文件内修改即可实现指定IP监听:
方案1:在Program.cs中硬编码监听地址(优先级最高,全场景生效)
.NET 6及以上版本(顶级语句语法)
在Program.cs文件的app.Run()方法前添加IP监听配置:
var builder = WebApplication.CreateBuilder(args); // 此处省略你的其他服务注册代码 var app = builder.Build(); // 此处省略你的其他中间件配置代码 // 添加指定IP监听配置,可添加多条规则同时监听多个地址 app.Urls.Add("http://192.168.1.110:5000"); // 可选:保留localhost访问能力 // app.Urls.Add("http://localhost:5000"); app.Run();
.NET 5及更早版本
在Program.cs的CreateHostBuilder方法中调用UseUrls配置:
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>() // 配置指定IP监听 .UseUrls("http://192.168.1.110:5000"); });
方案2:修改launchSettings.json配置(开发调试场景生效)
打开项目Properties文件夹下的launchSettings.json文件,修改对应启动配置的applicationUrl值即可:
{ "profiles": { "http": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "api/你的控制器名", // 修改为你的指定IP地址 "applicationUrl": "http://192.168.1.110:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } }
注意事项
- 配置前请确认你使用的IP是当前设备的有效局域网IP,Windows设备可在cmd中执行
ipconfig查询 - 若需要监听所有本机可用IP,可直接将地址配置为
http://0.0.0.0:5000,此时通过localhost、127.0.0.1、本机局域网IP都可以访问服务 - 硬编码固定IP后如果设备IP发生变更,需要同步修改配置,否则服务会启动失败
内容的提问来源于stack exchange,提问作者Satyajit Das
相关产品推荐
相关产品推荐

