Jestem nowy w użyciu SignalR (rozpoczęty dzisiaj), Całkiem proste, aby wysłać wiadomość do WSZYSTKICH klientów podłączonych, ale teraz chcę po prostu wysłać do grupy. Nie mogę znaleźć prostej dokumentacji, jak dołączyć po stronie klienta. Jeśli ktoś może pomóc, w jaki sposób mogę POZWOLI dołączyć do grupy po stronie javascript. Dzięki za pomoc.Jak dołączyć do grupy za pomocą SignalR
public class EventHub : Hub
{
public void SendNewMedia(MediaInfoViewModel model,Guid eventId)
{
Clients.Group(eventId.ToString()).setupmedia(model);
}
}
//Controller that is sending client new data
var eventHub = GlobalHost.ConnectionManager.GetHubContext<EventHub>();
var result = eventHub.Clients.Group(eventId.ToString()).setupmedia(eventViewer);
//Finally the javascript. Not sure how to setup just for a group
$(function() {
var event = $.connection.eventHub;
event.client.setupmedia = function (newMedia) {
$('#photolist').prepend('<li><img src="' + newMedia.MediaUrl + '" class="img-polaroid span2"/></li>');
};
$.connection.hub.start(function() {
event.server.create(eventID);//I know this is wrong but not sure how to connect
}).done(function() {
alert('conntected. Ready to retrieve data!');
});
});
Rodzaj zaskoczony jest to jedyna odpowiedź. Będąc nowicjuszem w Signal R, jestem ciekawa, jakie są alternatywne wzorce dołączania do grupy? Czy istnieją sposoby dołączenia do klienta po stronie serwera, na przykład, które nie są częścią bezpośredniej jawnej interakcji, takiej jak ta (w której klient JS wywołuje metodę). Jak możesz dołączyć do klienta do grupy po stronie serwera, jeśli masz swój identyfikator klienta, a następnie magicznie stać się jego częścią? PS. to naprawdę nie jest inne pytanie - po prostu więcej tego samego, jeśli ty (lub ktokolwiek inny) miałeś inne myśli –
Zarządzanie grupami odbywa się tylko na serwerze, więc tak - jeśli masz identyfikator połączenia użytkownika, możesz go dodać do dowolna grupa. W rzeczywistości tak właśnie powinno działać. –