Ich habe eine asp.net klassische Website. ive hat die SignalR-Grundfunktionalität zum Funktionieren gebracht (wobei ein Client Nachrichten an den Rest der Clients sendet). aber jetzt möchte ich Nachrichten nur an bestimmte connectionsIDs senden.SignalR Nachricht an einzelne Verbindung sendenId
mein Hub:
** [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 Code:
<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();
});
});
Problem ist, ich weiß wirklich nicht, wie man eine bestimmte ConnectionID mit Nabe zu schicken, da Clients.updateMessages (Nachrichten); Sende Nachrichten an alle von ihnen. Wie löse ich das?
P. S: ive schon sah: Send server message to connected clients with Signalr/PersistentConnection
und http://riba-escapades.blogspot.dk/2012/05/signalr-send-messages-to-single-client.html
die funktionierte den Ball hielt.
Ich habe es so gemacht, dass, nachdem Benutzer angemeldet ist, connectionID immer gleich wie userID ist. In meiner Anwendung habe ich es so gemacht, dass, nachdem der Benutzer die Schaltfläche "Senden" gedrückt hat, ich herausfinde, wer für mich zuständig ist und Nachrichten nur an diese Verbindungs-IDs sende. Ich weiß nicht, ob das ein kluger Schachzug ist. Irgendwelche Ideen, wie man es intelligenter implementieren kann? – Timsen
Die meisten Implementierungen, die ich bisher gesehen habe, verwenden eine Eins-zu-viele-Zuordnung der logischen Benutzeridentität zu aktiven Verbindungs-IDs. –
Letzte Frage, was passiert, wenn ich eine Nachricht an eine connectionID sende, die offline ist? – Timsen