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

如何消除Blazor Server应用的屏幕变暗无响应问题?

Blazor Server 应用周期性变暗无响应问题排查与解决
  • 问题现象:Blazor Server应用无论在本地IIS Express还是AWS托管的IIS环境中运行,每隔约1分钟会出现屏幕变暗几秒、应用短暂无响应,随后自动恢复正常的现象,该问题与业务代码无关。

可能原因及解决方法

1. 禁用SignalR重连默认遮罩提示

Blazor Server默认在SignalR连接丢失/重连时,会显示全屏变暗的遮罩提示。若这是你不需要的行为,可通过修改_Host.cshtml中的Blazor启动配置来禁用:

<script src="_framework/blazor.server.js" autostart="false"></script>
<script>
  Blazor.start({
    reconnectionHandler: {
      onConnectionLost: () => {},
      onReconnectionFailed: () => {}
    }
  });
</script>

2. 调整IIS应用池超时设置

IIS应用池的空闲超时或定期回收可能导致连接中断,触发重连机制:

  • 打开IIS管理器,找到目标应用池,右键进入「高级设置」
  • 将「空闲超时(分钟)」设置为0(表示永不超时),或延长至大于业务使用周期的时长
  • 检查「定期时间间隔(分钟)」,确保不会短时间内触发应用池回收

3. 优化SignalR连接参数

通过调整SignalR的超时和心跳参数,减少连接中断的概率:
在Program.cs中修改配置:

builder.Services.AddServerSideBlazor()
    .AddHubOptions(options =>
    {
        options.ClientTimeoutInterval = TimeSpan.FromMinutes(5);
        options.KeepAliveInterval = TimeSpan.FromSeconds(30);
    });

4. 排除浏览器环境干扰

使用浏览器隐私模式打开应用,排除缓存、广告拦截扩展或其他插件对SignalR连接的影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:35:02