Blazor (сервер) и шаблон асинхронности / ожидания - PullRequest
0 голосов
/ 14 октября 2019

В статье Введение в ASP.NET Core Blazor , написанной Microsoft (Дэниел Рот и Люк Латам), приведены примеры ожидаемых вызовов в коде Razor, например,

@code {
    private WeatherForecast[] forecasts;

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

Однако ни в одном из примеров не предлагается, должны ли страницы бритвы продолжать работать в захваченном контексте или нет, например,

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

Имеет ли Blazor концепцию потока пользовательского интерфейса, являющуюсяединственный поток, способный обновить компоненты? Что считается «наилучшей практикой» при вызове ожидаемых вызовов на странице и / или в компонентах страницы.

1 Ответ

1 голос
/ 14 октября 2019

Имеет ли Blazor концепцию потока пользовательского интерфейса как единственного потока, способного обновлять компоненты?

При использовании Blazor на стороне сервера: да.
На стороне клиента есть только один поток (JavaScript), так что да, вроде.

Что считается «оптимальной практикой» при вызове ожидаемых звонков на странице и / или в компонентах страницы.

Кому не используйте любой ConfigureAwait().

Вы находитесь в контексте синхронизации, который будет выполнять неявное ConfigureAwait(true)

...