@vdanilin0

Как отображать в HTML разметки ответы gRPC стрима в asp net core?

Обычно я пользуюсь rest api, я просо через js получаю ответ от api и в js уже изменяю разметку вставляя это ответ.
Но как быть с gRPC?

В следующем клоде в цикли foreach я получаю этот стрим, и как мне всавлять эти item в HTML

Код контролера
public HomeController()
        {
             ChatRun();
        }

        private async Task ChatRun()
        {
            var _messeages = new List<string>();
            var channel = GrpcChannel.ForAddress("https://localhost:7151");

            var client = new Messager.MessagerClient(channel);

            var stream = Task.Run(() => client.Send(new Request() { Message = "1" }));

            await foreach (var item in (await stream).ResponseStream.ReadAllAsync())
            {
              //как передовать item в HTML
            }
        }
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
vabka
@vabka Куратор тега ASP.NET
Токсичный шарпист
В реальном времени ты в html так их не вставишь.
У тебя два варианта:
1. Если стрим конечный, то ты можешь собрать все айтемы в лист и вернуть его как обычно.

2. Использовать websocket - тут надо будет подумать, как лучше это подружить со сложившейся у тебя архитектурой.
Как минимум нужно будет добавить js на фронт и создавать долгоживущую задачу на бэке
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы