Вызов метода SignalR Hub из JavaScript-клиента в цикле - PullRequest
0 голосов
/ 17 марта 2019

Я знаком с потоковой передачей данных из метода ASP.NET Core 2.2 SignalR Hub в клиент JavaScript. Однако мне интересно, можете ли вы сделать что-то противоположное этому, и я пока не нашел ответа.

У меня большой набор запросов к методу в моем C # SignalR Hub. В целом запрос, который я отправляю на сервер от моего клиента JavaScript, составляет около 350 КБ (без сжатия). Я знаю, что могу увеличить максимальный размер буфера, чтобы разрешить большой запрос. Однако я уверен, что это плохая практика, плюс он эффективно блокирует веб-клиент на время разговора.

Что я хотел бы сделать, так это разделить мой большой запрос на куски меньших запросов, вызвать метод SignalR Hub в цикле, и not заблокировать мой браузер во время процесса. Другими словами, я бы хотел, чтобы браузер оставался отзывчивым, чтобы другие вызовы могли быть вызваны из клиента JavaScript на тот же канал SignalR.

Как можно поступить так? Я пытался визуализировать это, но, поскольку все вызовы из клиента JavaScript в концентратор SignalR кажутся асинхронными, я не уверен, как поместить такой вызов в цикл, не вызывая многократные запросы в стеке. Или я пытаюсь сделать что-то, чего SignalR просто не должен делать?

...