Blazor StreamRendering уже не работает в примере проектаC#

Место общения программистов C#
Ответить
Anonymous
 Blazor StreamRendering уже не работает в примере проекта

Сообщение Anonymous »

Я новичок в Blazor и начал с учебника на YouTube.
Поэтому я создал проект Blazor Web App в VS 2022 (последняя версия) и .NET Runtime 8.0.6. Я включил пример кода (приложение Weather) в проект и позволил ему работать, не меняя ничего в образце кода.
[img]https://i .sstatic.net/TpYD2XTJ.png[/img]

Изображение

Когда я открываю вкладку «Погода», она должна мгновенно открыть страницу погоды, отобразить «Загрузка...» в течение 500 мс, а затем показать таблицу с некоторыми температурами. В моем случае он ждет 500 мс, прежде чем открыть вкладку Weater, и мгновенно отображает таблицу.
Вот код файла примера blazor:

Код: Выделить всё

@page "/weather"
@attribute [StreamRendering]

Weather

Weather

This component demonstrates showing data.

@if (forecasts == null)
{
Loading...
}
else
{



Date
Temp. (C)
Temp. (F)
Summary



@foreach (var forecast in forecasts)
{

@forecast.Date.ToShortDateString()
@forecast.TemperatureC
@forecast.TemperatureF
@forecast.Summary

}


}

@code {
private WeatherForecast[]? forecasts;

protected override async Task OnInitializedAsync()
{
// Simulate asynchronous loading to demonstrate streaming rendering
await Task.Delay(2000);

var startDate = DateOnly.FromDateTime(DateTime.Now);
var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = startDate.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = summaries[Random.Shared.Next(summaries.Length)]
}).ToArray();
}

private class WeatherForecast
{
public DateOnly Date { get; set; }
public int TemperatureC { get; set; }
public string? Summary { get; set; }
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}
}
Поэтому @attribute [StreamRendering] не работает, поскольку он не запускает метод OnInitializedAsync() асинхронно на стороне сервера.
Существует также сообщение GitHub, показывающее ту же самую проблему https://github.com/dotnet/aspnetcore/issues/52323.
Этот вопрос больше связан с проблемой сжатия IIS и не содержит решения для меня. В моем случае он также не работает с http, https или IIS.
Также не имеет значения, какой браузер я использую, и он также не работает на ПК моих коллег.
Я уже разочарован еще до того, как начал работать с Blazor...

Подробнее здесь: https://stackoverflow.com/questions/786 ... le-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»