gpt4 book ai didi

Blazor.NET : What causes "A task was canceled" within JavaScript

转载 作者:行者123 更新时间:2023-12-03 09:31:01 24 4
gpt4 key购买 nike

我有一个 服务器端 Blazor.NET 应用程序 (dotnet core 3.1) 带库:
protected 浏览器存储 ( https://www.nuget.org/packages/Microsoft.AspNetCore.ProtectedBrowserStorage ) 用于客户端浏览器中的加密存储

有时我的日志文件中会出现如下错误:

2020-04-01 14:05:17.4809 Error System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.JSInterop.JSRuntime.InvokeWithDefaultCancellation[T](String identifier, Object[] args)
at Microsoft.AspNetCore.ProtectedBrowserStorage.ProtectedBrowserStorage.GetAsync[T](String purpose, String key)
at PegasusV6.LocalStorageService.LoadBasket(MenuDTO menu) in LocalStorageService.cs:line 40 A task was canceled.

我的问题是我不知道是什么导致了 JavaScript 调用中的这个错误。

是否有可以修复此类错误的服务器限制?

或者是客户端用户可能没有良好的互联网速度/连接,这是服务器端 Blazor 非常需要的?

希望有人能给我一个提示或任何可以改进它的东西。
这是调用的 C# 函数:
    public async Task LoadBasket(MenuDTO menu)
{
try
{
AppState.BasketData = await ProtectedLocalStore.GetAsync<BasketState>($"Basket_{My.StoreId}") ?? new BasketState();
}
catch (Exception ex)
{
My.Log.Error(ex);
AppState.BasketData = new BasketState();
}
}

谢谢!

最佳答案

传入中心消息的大小有一个默认最大值。我第一次遇到这个问题时,我尝试更改 blazor hub 的 ApplicationMaxBufferSize 和 TransportMaxBufferSize,但没有解决问题。

而是添加 SignalR 服务并设置 MaximumReceiveMessageSize。

        services.AddSignalR(e => {
e.MaximumReceiveMessageSize = 1000;
});

https://docs.microsoft.com/en-gb/aspnet/core/signalr/configuration?view=aspnetcore-3.0&tabs=dotnet#configure-server-options

希望这可以帮助。

关于Blazor.NET : What causes "A task was canceled" within JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60978948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com