Сегодня нет возможности фильтровать сообщения на сервере, но вы можете заблокировать сообщения для вызывающего абонента со стороны клиента.Если вы посмотрите на некоторые из примеров на signalr, вы увидите, что они назначают каждому клиенту сгенерированный идентификатор для клиента в методе (обычно называемом join).Всякий раз, когда вы вызываете метод из концентратора, передайте идентификатор вызывающего клиента, затем на стороне клиента выполните проверку, чтобы убедиться, что идентификатор клиента не совпадает с идентификатором вызывающего.например,
public class Chat : Hub {
public void Join() {
// Assign the caller and id
Caller.id = Guid.NewGuid().ToString();
}
public void DoSomething() {
// Pass the caller's id back to the client along with any extra data
Clients.doIt(Caller.id, "value");
}
}
Клиентская сторона
var chat = $.connection.chat;
chat.doIt = function(id, value) {
if(chat.id === id) {
// The id is the same so do nothing
return;
}
// Otherwise do it!
alert(value);
};
Надеюсь, это поможет.