gpt4 book ai didi

async-await - Blazor(服务器)和异步/等待模式

转载 作者:行者123 更新时间:2023-12-04 01:38:57 27 4
gpt4 key购买 nike

Introduction to ASP.NET Core Blazor Microsoft(Daniel Roth 和 Luke Latham)的文章显示了 Razor 代码中等待调用的示例,例如

@code {
private WeatherForecast[] forecasts;

protected override async Task OnInitializedAsync()
{
forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
}
}

但是,没有一个示例表明 Razor 页面是否应该在捕获的上下文中继续,例如

.ConfigureAwait(false);
or
.ConfigureAwait(true);

Blazor 是否有 UI 线程是唯一能够更新组件的线程的概念?在页面和/或页面组件中调用等待的调用时,什么被认为是“最佳实践”。

最佳答案

Does Blazor have the concept of the UI Thread being the only thread able to update components?

使用服务器端 Blazor:是。
对于客户端,只有一个线程(JavaScript),所以,是的,有点。

What is considered "best practice" when calling awaited calls in the Page and/or in page components.

使用任何 ConfigureAwait()。

您所处的同步上下文具有隐式默认行为 ConfigureAwait(true)

ConfigureAwait() 仅在您创建额外的线程(使用 Task.Run())时有用,但通常您不希望这样。

关于async-await - Blazor(服务器)和异步/等待模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58380764/

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