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

问题描述 投票:0回答:1

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

@code {
    private WeatherForecast[] forecasts;

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

但是,所有示例均未显示剃刀页面是否应在捕获的上下文中继续,例如

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

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

async-await blazor blazor-server-side
1个回答
0
投票

Blazor是否具有UI线程是唯一能够更新组件的线程的概念?

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

在页面和/或页面组件中呼叫等待的呼叫时,被认为是“最佳实践”。

使用任何ConfigureAwait()。

您在同步上下文中将执行隐式ConfigureAwait(true)

© www.soinside.com 2019 - 2024. All rights reserved.