.net core 在本地网络中运行.net核心web api

.net core 在本地网络中运行.net核心web api,.net-core,kestrel,.net Core,Kestrel,我想开发和测试运行在192.168.x.x地址范围而不是127.0.0.1地址范围内的.net核心web api 最后,我想从api中获得结果,但要从我手机上的浏览器(连接到同一个wi-fi网络)运行 试图修改kestrel以运行: WebHost.CreateDefaultBuilder(args) .UseUrls("http://192.168.0.10:5000") .UseStartup<Startup>(); WebHos

我想开发和测试运行在192.168.x.x地址范围而不是127.0.0.1地址范围内的.net核心web api

最后,我想从api中获得结果,但要从我手机上的浏览器(连接到同一个wi-fi网络)运行

试图修改kestrel以运行:

WebHost.CreateDefaultBuilder(args)
            .UseUrls("http://192.168.0.10:5000")
            .UseStartup<Startup>();
WebHost.CreateDefaultBuilder(args)
.useURL(“http://192.168.0.10:5000")
.UseStartup();
但它不起作用,错误:
无法分配请求的地址。。。在System.Net.Sockets.Socket上,一个简单的解决方法是更改
启动设置.json(如果使用VisualStudio),或启动参数以侦听URL
http://0.0.0.0:5000
https://0.0.0.0:5001

使用这些URL将kestrel绑定到本地机器上的所有可用IP地址

此外,根据您查询API的方式,您可能需要配置CORS。在开发环境中,我通常将以下行添加到
Startup.Configure

app.UseCors(x=>x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());

我已经像您一样配置了cors。您的解决方案有效,但只能从我的桌面计算机上使用。有没有一种方法可以在同一个网络上的手机上尝试(意思是连接到同一个路由器)在同一个路由器上并不一定意味着他们在同一个网络上,你能从你的电脑ping你手机的IP吗?一些路由器还设置了隔离,以便将Wifi上的设备彼此隔离。如果我没记错的话,这项技术被称为AP隔离。他们对AP隔离的定义是:“AP隔离是一种防止连接到AP的移动设备彼此直接通信的技术”