Volevo chiamare il client specifico di notifica dal server utilizzando signalR ma non funzionava. il mio codice è stato eseguito correttamente ma la dose del client non riceve alcuna chiamata dal server.L'invio di messaggi dal server a client specifici non funziona utilizzando SignalR 2 e MVC 4.0
Tuttavia questo funziona per tutti i client.
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ProcessStatusNotifyHub>();
hubContext.Clients.All.notify("Got it!");
Ma questo non funziona per client specifico [Aggiornamento Codice] seguito il codice scritto in chat.cshtml
$(function() {
// Reference the auto-generated proxy for the hub.
var chat = $.connection.processStatusNotifyHub;//chatHub;
chat.client.notify = function (msg) {
alert(msg);
}
// Start the connection.
$.connection.hub.start().done(function() {
var myClientId = $.connection.hub.id;
console.log('connected: ' + myClientId);
$('#sendmessageToClient').click(function() {
//chat.server.send('imdadhusen', 'This is test text');
$.ajax({
url: '@Url.Action("Send", "PushNotification")',
type: 'POST',
data: { 'clientID': myClientId },
dataType: 'json',
success: function (result) {
alert(result.status);
}
});
});
});
});
Dopo codice è scritto in controller
[HttpPost]
public ActionResult Send(string clientID)
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ProcessStatusNotifyHub>();
//hubContext.Clients.All.notify("Got it!");
hubContext.Clients.User(clientID).notify("Got it!");
responseResult result = new responseResult();
result.status = "OK";
result.message = "Notification sent successfully";
return Json(result, JsonRequestBehavior.AllowGet);
}
Ho provato a eseguire il debug del codice che mostra il valore corretto dell'ID client su .cstml o contro lloer. per esempio. clientid : 0fdf6cad-b9c1-409e-8eb7-0a57c1cfb3be
Potrebbe aiutarmi a inviare notifiche a client specifici dal server.
Puoi fornire il controller completo? Il codice fornito non chiarisce se connectionId è o meno nell'ambito corretto dell'operazione che si sta tentando di eseguire. –
@Steve Ho aggiornato il codice per il vostro riferimento, per favore fatemi sapere ancora che avete bisogno di maggiori dettagli per lo stesso. – imdadhusen
Grazie per l'aggiornamento. Quando esegui il debug del server, il clientID è impostato sul valore che ti aspetteresti? –