我有一个 asp.net 经典网站。我让 SignalR 基本功能正常工作(一个客户端向其余客户端发送消息)。但现在我只想将消息发送到特定的连接 ID。
我的集线器:
** [HubName("chatHub")]
public class ChatHub : Hub
{
public static List<string> messages = new List<string>();
public void GetServiceState()
{
Clients.updateMessages(messages);
}
public void UpdateServiceState()
{
messages.Add(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));
Clients.updateMessages(messages);
}
}**
ASP代码:
<script type="text/javascript">
$(function () {
// creates a proxy to the health check hub
var healthCheckHub = $.connection.chatHub;
console.log($.connection.hub)
// handles the callback sent from the server
healthCheckHub.updateMessages = function (data) {
$("li").remove();
$.each(data, function () {
$('#messages').append('<li>' + this + '</li>');
console.log($.connection);
});
};
$("#trigger").click(function () {
healthCheckHub.updateServiceState();
});
// Start the connection and request current state
$.connection.hub.start(function () {
healthCheckHub.getServiceState();
});
});
问题是我真的不知道如何使用集线器发送到一个特定的 ConnectionID,因为 Clients.updateMessages(messages); 向他们所有人发送消息。我该如何解决这个问题?
PS:我已经看过:Send server message to connected clients with Signalr/PersistentConnection
和http://riba-escapades.blogspot.dk/2012/05/signalr-send-messages-to-single-client.html
那没有用。