Присматриваюсь к BackgroundService. Но как я понимаю он начинает работу и постоянно сразу после запуска приложения (сам я делаю приложение на основе Blazor Hybrid). Как я понимаю Thread использовать в браузере нельзя. Еще читал про BackgroundWorker, незнаю насколько он актуален? Задача примерно следующая:
Есть модель Channel. В классе-сервисе(добавленной через AddSingleton) хранится Dictionary<Guid, Channel> Channels. На странице "создания канала" формируется запрос. И при нажатии на кнопку "создать" запрос оправляется на api, обратно получаю все необходимое для создания канала. Все это обычно продолжатся секунды(в худших случаях будет > 10 сек).
И вот сейчас это все выполнется в потоке UI асинхронно(но для теста создание происходит < 1 сек). Мне нужно чтобы создание(обновление) происходило на фоне, т.е я свободно могу переходить по страницам. И вот как лучше это реализовать?