我正在通过 SignalR 连接与 ASP.NET Core API 开发 Blazor 服务器应用程序,此代码在 WebAssembly 中运行良好,但由于某种原因,它在 Blazor 服务器应用程序中不起作用。
我怀疑问题是StateHasChanged()没有生效,因为 Console.WriteLine($"Company Name: {item.CompanyName}, Volumn: {item.Volume}");在控制台中打印但MarketData没有更新 UI StateHasChanged()。
了解更多背景信息;完整代码解释如下:
https://www.webnethelper.com/2022/01/aspnet-core-6-signalr-creating-real.html
但我想这只是一个常见的解决办法;但我找不到解决方案。
我也尝试过InvokeAsync(() => StateHasChanged());stackoverflow 中提到的方法,但没有成功。谁能帮我解决这个问题吗?
private HubConnection? hubConn;
private string? ConnectionStatusMessage;
public List<Market> MarketData = new List<Market>();
public List<Market> MarketReceivedData = new List<Market>();
private List<string> xSource;
private List<int> ySource;
private List<object> source;
protected override async Task OnInitializedAsync()
{
xSource = new List<string>();
ySource = new List<int>();
source = new …Run Code Online (Sandbox Code Playgroud)