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

两层架构下WebForms项目无法访问ASP.NET Core Web API求助

问题描述

我采用两层架构,主项目为WebForms应用程序,子项目为包含API端点的ASP.NET Core Web API,目前无法访问该API。

相关截图

  • 文件结构:
    文件结构截图
  • API端点配置:
    端点截图
  • 测试访问位置:
    测试位置截图
排查与解决步骤
  • 确认API独立运行状态
    单独启动ASP.NET Core Web API子项目,查看控制台输出的启动地址,直接在浏览器或Postman中访问该地址下的API端点,验证API自身是否能正常响应。若独立运行失败,检查Program.cs/Startup.cs中是否正确配置路由(如app.MapControllers())和必要中间件。

  • 配置跨域策略(CORS)
    若WebForms与API运行在不同端口/域名下,需在API中添加跨域配置。在Program.cs中加入以下代码:

    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowWebForms",
            policy => policy.WithOrigins("http://localhost:WebForms端口号")
                            .AllowAnyHeader()
                            .AllowAnyMethod());
    });
    
    // 放在app.UseRouting()之后,app.MapControllers()之前
    app.UseCors("AllowWebForms");
    

    替换WebForms端口号为实际运行的端口。

  • 校验请求地址正确性
    检查WebForms中调用API的请求URL,确保和API实际启动地址、端点路径完全匹配,避免端口、路径拼写错误。

  • 设置多项目启动
    在Visual Studio中右键解决方案→属性→启动项目,选择多启动项目,将WebForms和API项目的启动动作均设为启动,确保调试时两个项目同时运行。

  • 排查端口与防火墙问题
    用命令netstat -ano | findstr :API端口号检查端口是否被占用,若占用则修改API的launchSettings.json更换端口。同时确认本地防火墙未阻止API端口的网络请求。

  • 查看错误日志
    查看API控制台的启动日志,检查是否有路由加载、服务启动失败等信息;WebForms调用时,查看浏览器控制台的网络请求详情(如404、500、跨域错误),根据具体提示定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 02:00:05