You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native iOS调用.NET Minimal API超时,Node.js服务正常问题排查

解决React Native iOS调用.NET Minimal API超时问题的建议
  • 确认.NET服务的监听地址与端口
    不要只依赖launchSettings.json的配置,直接在代码里显式绑定地址:

    var builder = WebApplication.CreateBuilder(args);
    // 确保绑定到所有网卡的5056端口
    builder.WebHost.UseUrls("http://0.0.0.0:5056");
    

    然后用系统命令验证监听状态:

    • Windows:netstat -ano | findstr :5056,确认输出包含0.0.0.0:5056
    • Mac/Linux:lsof -i :5056,检查LISTEN状态的地址是否为*:5056
  • 排查防火墙拦截
    电脑防火墙可能允许了Node.js进程,但未放行.NET的dotnet进程:

    • Windows:打开Windows Defender防火墙,添加入站规则,允许TCP端口5056的连接
    • Mac:进入「系统设置-网络-防火墙」,点击「选项」,允许dotnet进程通过防火墙
  • 验证服务本身的可用性
    在电脑浏览器直接访问http://192.168.10.180:5056/[你的接口路径],确认能正常返回响应。如果电脑本地用IP访问都失败,说明.NET服务的绑定配置仍有问题,和React Native无关。

  • 检查CORS配置的正确性
    确保Minimal API的CORS中间件位置正确(必须在UseRouting之后、UseAuthorization之前):

    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowLocalDevices", policy =>
        {
            policy.WithOrigins("http://localhost:8081", "exp://*") // 适配React Native的调试地址
                  .AllowAnyMethod()
                  .AllowAnyHeader();
        });
    });
    
    var app = builder.Build();
    
    app.UseRouting();
    app.UseCors("AllowLocalDevices"); // 位置不能错
    app.UseAuthorization();
    app.MapControllers();
    
  • 排除网络连通性问题

    • 确认iOS设备和电脑在同一WiFi网络,且设备未开启VPN/代理(VPN会导致流量走外部网络,无法访问本地IP)
    • 在iOS设备上用终端工具(如Terminus)执行ping 192.168.10.180,如果ping不通,检查路由器是否开启了AP隔离(部分路由器默认开启,会阻止设备间通信)
  • 测试HTTP/HTTPS协议匹配
    如果.NET服务启用了HTTPS,iOS设备会因为自签名证书不信任导致超时。可以先暂时改成HTTP测试,或者在iOS项目的Info.plist中添加ATS例外:

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    

内容的提问来源于stack exchange,提问作者thelittlemaster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:22:07