Patrzę na SignalR dla projektu, nad którym pracuję, i wydaje mi się, że to DOKŁADNIE to, czego chcę. Jednak jeden bit, który wciąż jestem nieco zdumiony, to grupy i dołączenie.SignalR i dołączanie do grup
Spróbuję najpierw opisać kontekst wdrożenia. Zatem użytkownik w ramach istniejącego systemu będzie chciał zorganizować spotkanie dotyczące danego tematu, a następnie utworzy pokój o podanej nazwie/identyfikatorze, zaprosi do niego innych, a następnie będzie w zasadzie jak prywatny czat.
Tak więc kroki, które zakładam, byłyby gospodarzem, tworzą pokój i dołączają do niego, a następnie wysyłają zaproszenia, które wymagałyby od użytkowników kliknięcia, które w jakiś sposób powiedzieliby serwerowi, do którego pokoju się przyłączyć.
Teraz widzę z dokumentacji, że istnieje metoda dołączania i rozłączania, do której można się podłączyć, aby umieścić kogoś w grupie, jednak wydaje się, że Join nie ma powiązanego z nią kontekstu innego niż ciąg zapytania, więc Jestem nieco zdezorientowany co do tego, co wywołuje Join, ponieważ spodziewałbym się, że będzie to ręcznie uruchamiana metoda na kliencie przechodząca nad jakimś kontekstem podającym obiekt, co do miejsca, w którym można je umieścić, ponieważ możesz mieć setki prywatnych pokoi.
Jak więc podać metodę Join w pewnym kontekście i rozłączyć jeden, aby wiedział, do jakiego pomieszczenia chcesz dołączyć, tak jakby nie był uruchamiany ręcznie, jak ustawić ciąg zapytania, a jeśli jest ustawiony ręcznie wywołane, dlaczego nie można wysyłać niestandardowego obiektu. tj
public Task Join()
{
var groupName = Context.QueryString["some-room-identifier"];
return Groups.Add(Context.ConnectionId, groupName);
}
vs
public Task Join(string groupName)
{
return Groups.Add(Context.ConnectionId, groupName);
}
Więc ja czegoś brakuje lub jest jakiś sposób, aby dać kontekst do łączenia użytkownika, aby umieścić je w miejscu właściwym czasie pierwszego?
Dziękuję za wszystkie przydatne rzeczy, ale nie będę na nie odpowiadał, ale przyznam Ci prawo do głosowania za użyteczność. Mając nadzieję, że więcej ludzi będzie dzwonić z czasem. – Grofit
Tak, to nowe rzeczy, ponieważ dowiadujemy się, że dopracujemy – testpattern
+1. Myślę, że jest to jedyny sposób, z którym należy się zgodzić, biorąc pod uwagę, że SignalR nie zapewnia interfejsu API, który zwraca nazwę grupy, podając identyfikator połączenia. – GETah