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

ASP.NET Core项目可正常运行API但网站访问遭连接拒绝

问题排查与解决方案

核心问题:端口未被监听

你当前启动的是ASP.NET_Core_Web_API调试Profile,它仅监听API配置的7103(HTTPS)和5182(HTTP)端口,而launchSettings.json中IIS Express段配置的25433/44313端口并未被当前启动的实例监听,因此访问时出现ERR_CONNECTION_REFUSED。

解决方案

方案1:合并端口配置(推荐,单实例监听多端口)

修改ASP.NET_Core_Web_API Profile的applicationUrl,将网站的HTTP/HTTPS端口加入,让单应用同时监听所有需要的端口:

"ASP.NET_Core_Web_API": {
  "commandName": "Project",
  "dotnetRunMessages": true,
  "launchBrowser": true,
  "launchUrl": "swagger",
  "applicationUrl": "https://localhost:7103;http://localhost:5182;https://localhost:44313;http://localhost:25433",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

修改后重新启动该Profile,所有端口都会被监听,API和网站均可正常访问。

方案2:切换到IIS Express Profile启动

在Visual Studio的调试启动项中,选择IIS Express作为启动Profile,此时应用会监听25433(HTTP)和44313(HTTPS)端口,同时API也能通过这两个端口访问(因为是同一个应用实例)。

额外验证

你的Program.cs已正确配置MVC路由(MapDefaultControllerRoute())和API路由(MapControllers()),只要存在对应的MVC控制器(如HomeController及Index方法),网站即可正常响应。若后续出现404而非连接拒绝,需检查控制器是否存在或路由配置是否正确。

端口占用排查(可选)

若切换Profile后仍无法访问,可通过以下命令检查端口是否被其他程序占用:

netstat -ano | findstr :25433

若有结果,可根据PID结束占用进程,或修改launchSettings.json中的端口号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:15:06