【问题标题】:Blazor Server App, not loading with too many requestsBlazor 服务器应用程序,未加载太多请求
【发布时间】:2021-05-06 09:33:56
【问题描述】:

我在 .NET 5.0 上制作了一个小型 Blazor 服务器应用程序并将其部署到 IIS(v 10.0),它在测试时运行良好,但在公开后,网站有时根本无法加载。一段时间后,我发现它可以工作,直到达到一定数量的请求,然后停止加载。

例如,我打开网站的 30 个选项卡,从选项卡 25+ 开始,它不再加载,但其余部分运行正常。当我关闭其中一些工作时,在正确加载之前未加载的选项卡。

然后我尝试使用默认的 Blazor 服务器应用程序项目对此进行测试 - 结果相同。所以我认为它与IIS有关。我在 2 个不同的 IIS(本地 IIS 和另一个服务器上的一个)上进行了尝试,两者的结果相同。

我找不到任何相关的故障排除建议,所以如果其他人已经遇到此问题并且可以帮助我,我将非常高兴。

最好的问候

【问题讨论】:

标签: iis blazor blazor-server-side iis-10 .net-5


【解决方案1】:

也许您可以尝试使用CancellationToken,当您移动到另一个选项卡时,您可以调用取消方法来停止正在进行的操作。

    private CanecellationToken cts= new CancellationTokenSource();
    public List<Model> MyList{ get; set; }
    protected override async task OnInitializedAsync()    
    {
        var obj= await Http.GetFromJsonAsync<MyList>("/api/Model", cts.Token).ToList();
    }
    public void Dispose()
{
    cts.Cancel();
    cts.Dispose();
}

查看meziantou的来源 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-18
    • 2022-01-17
    • 1970-01-01
    • 2020-11-07
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多