在创建的asp.net webapi 项目后,会自动监听localhost的请求,但是不会监听ip的请求。这很奇怪,虽然可以通过修改IIS配置和使用Nginx来解决,但感觉不优雅。
后来通过反复查找,终于找到了一个解决方法,其实很简单。
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
//webBuilder.UseStartup<Startup>();
webBuilder
.UseUrls("http://0.0.0.0:5010")
.UseStartup<Startup>();
});
不过这个是基于core 3.1版本,在.net 6 上可以这样实现:
var app = builder.Build();
app.Urls.Add("http://0.0.0.0:5010");
//......
app.Run();