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

同一个Visual Studio解决方案内两个.NET Core API如何互相发起请求

错误根因先说明

你遇到的No connection could be made because the target machine actively refused it报错和CORS、防火墙都没有关系,核心原因是你切换启动项目后,监听5001端口的.NET Core API项目并没有在运行,5001端口没有任何服务监听,连接自然被拒绝。

问题1:具体该如何添加对应防火墙规则?

本地localhost环回地址的通信默认不会被Windows防火墙拦截,你当前的本地调试场景完全不需要额外添加防火墙规则。
如果后续需要把该API暴露给同局域网的其他设备访问,可以按如下步骤添加入站规则:

  • 打开「Windows Defender防火墙」→ 选择左侧「高级设置」
  • 点击左侧「入站规则」→ 右侧点击「新建规则」
  • 规则类型选择「端口」,点击下一步
  • 协议选择「TCP」,勾选「特定本地端口」,输入5001,点击下一步
  • 选择「允许连接」,点击下一步
  • 按需勾选适用网络(仅本地调试用的话只勾选「专用」即可),点击下一步
  • 给规则命名(比如.NET Core API 5001端口放行),点击完成即可

问题2:添加规则后能否解决该问题?

不能。你当前的报错是目标API服务未启动导致的,和防火墙拦截没有关联,添加防火墙规则对解决当前问题没有任何帮助。

问题3:是否需要两个项目同时在Visual Studio中运行才能实现跨API调用?

是的。你调用5001端口的API接口的前提,是这个API服务必须处于运行状态、对应端口正常监听。
你可以在Visual Studio中配置多项目同时启动,不用来回切换启动项:

  • 右键你的解决方案 → 选择「属性」
  • 找到「通用属性」→「启动项目」
  • 选择「多个启动项目」,把两个项目的「操作」都修改为「启动」,可以把API项目调整到前面优先启动
  • 保存配置后再启动,两个项目就会同时运行

额外补充

你配置的CORS策略在当前场景完全不会生效:CORS是浏览器的安全策略,只有浏览器端发起跨域请求时才会校验,你现在是后端服务之间的直接调用,不会触发CORS校验,哪怕不配置CORS也不会影响调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:45:05