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

如何在同一站点同时托管 Blazor 应用与 Dotnet API 项目

双ASP.NET项目部署到Myasp.Net单站点方案

Myasp.Net支持单站点下创建独立虚拟应用,你可以将API项目部署到子路径、Blazor Server部署到根路径实现共用站点,操作步骤如下:

前置准备

先分别将两个项目做发布前适配:

  • 打开API项目的Program.cs,在中间件注册的最开头添加路径基址配置:
    var builder = WebApplication.CreateBuilder(args);
    // 原有服务注册代码保留
    var app = builder.Build();
    
    // 新增这一行,放在所有中间件最前面
    app.UsePathBase("/api");
    
    // 原有中间件、路由配置保留
    app.Run();
    
    配置完成后将API项目发布到本地文件夹备用。
  • 修改Blazor Server项目中的API请求基地址,将原有独立API域名替换为当前站点域名加/api前缀,比如原地址https://独立api域名.com改为https://你的myasp站点域名/api,配置完成后将Blazor项目也发布到本地文件夹备用。

站点配置操作

  • 登录Myasp.Net站点控制面板,找到对应站点的虚拟应用/目录管理入口,新增虚拟应用:
    • 虚拟路径填写/api
    • 物理路径设置为站点根目录下的api文件夹
    • 勾选「设置为独立应用程序」选项后保存配置
  • 通过FTP或平台自带的文件管理器上传发布文件:
    • Blazor Server项目的所有发布文件上传到站点根目录
    • API项目的所有发布文件上传到刚才创建的/api目录下
  • 重启站点后即可正常访问,Blazor走根路径路由,API走/api前缀的路由,不会互相冲突。

异常排查

  • 若API请求返回404:检查虚拟应用是否配置成功,确认API项目的app.UsePathBase配置位置是否在所有中间件之前
  • 若出现运行时权限错误:在站点权限设置中给根目录和/api目录都授予读取、执行、写入权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 23:51:03