Кажется, что Blazor позволяет клиенту легко вызывать метод сервера, используя нечто, называемое SignalR. Но когда я искал, делает ли Blazor это в другом направлении, я ответил, что Blazor этого не делает, и я должен сам реализовать его с помощью SignalR. Итак, я подумал об опросе.
То есть мне нравится читать свойство или вызывать метод в объекте сервера с интервалом, чтобы определить, что-то изменилось. Чтобы проверить это, я добавил это свойство в класс WeatherForecastService
. Свойство увеличивается каждый раз, когда читается.
int _Value = 0;
public int Value
{
get
{
_Value++;
return _Value;
}
}
В образце планшета погоды я удалил код для отображения погоды и добавил это.
<p>This component demonstrates fetching data from a service.</p>
<div>Value = @this.Value</div>
@code {
private int Value = 0;
protected override async Task OnInitializedAsync()
{
System.Timers.Timer t = new System.Timers.Timer();
t.Elapsed += (s, e) => { Value = ForecastService.Value; };
t.Interval = 1000;
t.Start();
}
}
И это не сработало. Я нашел существующий вопрос , но он использует F #, который я не понимаю, и я не знаю, что такое ClientTImer
, поэтому ответ мне не помог.