Tôi mới sử dụng SignalR (bắt đầu hôm nay), Khá đơn giản để gửi tin nhắn đến TẤT CẢ các khách hàng được kết nối, nhưng bây giờ tôi muốn gửi đến một nhóm. Tôi không thể tìm thấy tài liệu đơn giản về cách tham gia ở phía khách hàng. Nếu có ai có thể giúp, làm thế nào tôi có thể SIMPLY tham gia một nhóm ở phía bên javascript. Cảm ơn vì bất kì sự giúp đỡ.Cách tham gia một nhóm bằng 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!');
});
});
Loại ngạc nhiên này là câu trả lời duy nhất. Là người mới đến Signal R Tôi tò mò bản thân mình những gì các mô hình thay thế là để tham gia một nhóm? Có cách nào để kết nối một máy khách ở phía máy chủ không, ví dụ như không phải là một phần của một tương tác trực tiếp rõ ràng như thế này (nơi mà máy khách JS gọi một phương thức). Giống như bạn có thể tham gia một khách hàng vào một nhóm ở phía máy chủ nếu bạn có ID khách hàng của họ và sau đó họ kỳ diệu trở thành một phần của nó? PS. điều này thực sự không phải là một câu hỏi khác - chỉ cần nhiều hơn nếu bạn (hoặc bất kỳ ai khác) có bất kỳ suy nghĩ nào khác –
Quản lý nhóm chỉ được thực hiện trên máy chủ, vâng - nếu bạn có id kết nối của người dùng, bạn có thể thêm bất kỳ nhóm nào. Trong thực tế, đó là cách nó phải làm việc. –