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

Blazor WASM部署Azure静态Web应用后无法加载Shared页面及MainLayout问题

Blazor WASM部署到Azure静态Web应用后仅显示index.html的解决办法
  • 修正路由与基础路径配置
    先确认wwwroot/index.html中的<base href="/" />配置正确,若应用部署在子路径下需对应修改路径。同时在项目根目录添加staticwebapp.config.json文件,配置SPA路由 fallback 规则:

    {
        "navigationFallback": {
            "rewrite": "/index.html"
        }
    }
    

    该配置会将所有非静态资源的请求重定向到index.html,确保Blazor的路由系统能正常接管页面跳转。

  • 修复OIDC认证的well-known路径错误
    开发者工具中出现的./wellknown/路径错误是核心问题——本地开发的相对路径在Azure部署后解析异常。修改Program.cs中的OIDC配置,将Authority设置为完整的绝对URL:

    builder.Services.AddOidcAuthentication(options =>
    {
        options.ProviderOptions.Authority = "https://你的认证域名";
        options.ProviderOptions.ClientId = "你的客户端ID";
        // 其他必要的认证配置
    });
    

    同时确保Azure静态Web应用的身份验证配置与本地开发环境一致,避免路径解析冲突。

  • 排查全局授权残留配置
    即便页面添加了[AllowAnonymous]属性,若Program.cs中设置了全局授权 fallback 策略,仍会导致路由阻塞。检查是否存在类似代码,如有则移除或调整:

    builder.Services.AddAuthorization(options =>
    {
        options.FallbackPolicy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
    });
    
  • 验证部署文件完整性
    登录Azure门户,通过存储浏览器检查静态Web应用的wwwroot/_framework目录,确认blazor.webassembly.js、dotnet.*.js等核心Blazor文件是否完整上传,避免部署过程中文件丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:27:24