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

如何解决blazor.server.js未找到且返回ERR::ABORTED错误?

解决Blazor Server中blazor.server.js返回ERR_ABORTED的问题

核心问题定位

从现象(浏览器请求blazor.server.js但仅获取55B无效内容)和代码来看,最大嫌疑是自定义静态文件拦截逻辑误拦截了框架文件请求,其次需要验证路由与中间件配置的正确性。


解决方案步骤

1. 修复静态文件拦截逻辑

你的UseStaticFiles拦截代码中,只要请求路径以/Sharlog开头就会返回418错误并清空响应体。如果应用部署在/Sharlog子路径下,/_framework/blazor.server.js的实际请求路径会是/Sharlog/_framework/blazor.server.js,会被这个拦截逻辑命中,导致返回无效内容。

修改拦截代码,排除框架和第三方组件的静态文件路径:

app.UseStaticFiles(new StaticFileOptions()
{
    OnPrepareResponse = s =>
    {
        s.Context.Response.Headers.Append("Cache-Control", $"public, max-age={(60 * 60 * 24 * 7).ToString()}");
        var requestPath = s.Context.Request.Path;
        // 仅拦截指定Sharlog路径下的资源,排除框架和第三方组件文件
        if (requestPath.StartsWithSegments(new PathString("/Sharlog")) 
            && !requestPath.StartsWithSegments(new PathString("/_framework"))
            && !requestPath.StartsWithSegments(new PathString("/_content")))
        {
            Console.WriteLine("BLOCK CRIT. ACCESS");
            s.Context.Response.StatusCode = 418;
            s.Context.Response.Body = Stream.Null;
            s.Context.Response.ContentLength = 0;
        }
    }
});

2. 验证中间件与路由顺序

确保Program.cs(或Startup.cs)中的中间件顺序正确,框架相关路由配置必须放在正确位置:

// 先启用静态文件服务
app.UseStaticFiles();

// 启用路由
app.UseRouting();

// 其他中间件(如授权等)...

// 配置端点
app.UseEndpoints(endpoints =>
{
    // 必须配置Blazor Hub路由
    endpoints.MapBlazorHub();
    // 配置回退到_Host页面
    endpoints.MapFallbackToPage("/_Host");
});

3. 检查Base Href配置

确认_Host.cshtml中的<base href="~/" />是否与应用实际部署路径匹配:

  • 如果应用部署在根路径,保持~/"即可;
  • 如果部署在/Sharlog子路径,修改为:
<base href="/Sharlog/" />

4. 临时排查验证

先注释掉自定义的UseStaticFiles拦截逻辑,重新运行应用,查看blazor.server.js是否能正常加载。如果加载正常,说明拦截逻辑是问题根源,按步骤1调整即可。


补充说明

  • 你在Index.razor中使用@page "/{*param}"捕获所有Blazor路由不会影响静态文件请求(包括/_framework和/_content路径),因为这些路径由ASP.NET Core静态文件中间件直接处理,不经过Blazor路由系统。
  • MudBlazor的JS能正常访问,是因为/_content/MudBlazor/MudBlazor.min.js路径未被你的拦截逻辑命中(如果应用部署在根路径),但框架文件可能被命中,这是两者的差异点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:29:59