Потоковая передача между клиентами SignalR
Такое дело. У меня есть два приложения. Одно на AspNetCore, а другое на WPF в качестве клиента. Хочу сделать так, чтобы изменения в одном интерфейсе сразу отображались на втором. Решил использовать SignalR. Мне он понравился тем, что при отправке метода на хаб, хаб грубо говоря вызывает событие, которое можно разослать нескольким клиентам. Сейчас все работает так. К примеру, на Веб клиенте вызывается метод хаба hubConnection.SendAsync("RunTest1", parameters), обрабатываются данные, и если все успешно, то идет рассылка Clients.All.SendAsync("Test1Running", parameters);. Т. е. клиенты, в том числе и тот что вызвал метод хаба, меняют UI только по событию connection.on("Test1Running", parameters=>{//change UI properties})(ну в вы поняли, в wpf там по-своему). Это нужно чтобы убедится, что данные действительно изменились.
Дело в том, что мне нужно отправлять данные очень часто, лучше потоком. И как выяснилось позже, хабы создаются на каждый запрос + это все на тасках(хотя это не так страшно, не факт что контекст потока будет меняться). Ну, думаю, в SignalR вроде как есть потоковая передача. И она есть, но все что я нашел это "от сервера к клиенту" или от "клиента к серверу". А мне надо от "клиента к клиенту". Как это проще сделать? Просто разослать клиентам из метода хаба IAsyncEnumerable нельзя вроде как. Или можно рассылать что угодно и когда угодно в методе хаба через hubConnection.SendAsync("method", parameters)? Это будет работать? Если кто-то сталкивался то как это решили? Может можно как-то заставить хаб не диспоузиться? Или просто забить, спокойно слать по 100 запросов в секунду и не париться? Сильно там производительность страдает? Если там задержка в несколько миллисекунд то не страшно.