Я пытаюсь получить список элементов для обновления при получении сообщения из очереди сообщений.
Кажется, это работает только каждый другой при получении сообщения, хотя , Это определенно бьет по анонимному методу внутри вызова SubscribeAsync
каждый раз, и я не могу понять, почему он не обновляется каждый раз. Я предполагаю, что это связано с тем, что анонимный метод находится в другом потоке. Есть идеи, что я делаю не так?
@page "/"
@inject IMessageQueueHelperFactory MessageQueueHelperFactory
@inject ILogger<Index> Logger
@using Microsoft.Extensions.Logging
@using Newtonsoft.Json
<ul class="list-group">
@foreach (var user in Users) {
<li class="list-group-item">@user</li>
}
</ul>
@code
{
private List<string> Users { get; set; } = new List<string>();
protected override void OnInitialized()
{
MessageQueueHelperFactory.Create(Queues.UserRegistration)
.SubscribeAsync(async x =>
{
var user = JsonConvert.DeserializeObject<UserRegistrationData>(x);
Users.Add(user.Username);
await InvokeAsync(StateHasChanged);
});
base.OnInitialized();
}
}