Tôi muốn gọi cho khách hàng cụ thể thông báo từ máy chủ bằng cách sử dụng signalR nhưng nó không hoạt động. mã của tôi đã được thực hiện thành công nhưng liều của khách hàng không nhận được bất kỳ cuộc gọi nào từ máy chủ.Gửi tin nhắn từ máy chủ đến máy khách cụ thể không hoạt động khi sử dụng SignalR 2 và MVC 4.0
Tuy nhiên, tính năng này hoạt động với tất cả khách hàng.
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ProcessStatusNotifyHub>();
hubContext.Clients.All.notify("Got it!");
Nhưng điều này không làm việc cho khách hàng cụ thể [Cập nhật Mã] Tiếp theo mã viết bằng 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);
}
});
});
});
});
mã sau đây được viết bằng điều khiển
[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);
}
Tôi đã thử gỡ lỗi mã nó đang hiển thị giá trị chính xác của id khách hàng trên .cstml hoặc contro lloer. ví dụ. clientid : 0fdf6cad-b9c1-409e-8eb7-0a57c1cfb3be
Bạn có thể vui lòng giúp tôi gửi thông báo cho khách hàng cụ thể từ máy chủ hay không.
thể bạn cung cấp bộ điều khiển đầy đủ? Mã bạn đã cung cấp làm cho nó không rõ ràng hay không connectionId là trong phạm vi chính xác cho các hoạt động bạn đang cố gắng thực hiện. –
@Steve Tôi đã cập nhật mã để bạn tham khảo, Vui lòng cho tôi biết bạn vẫn cần thêm chi tiết cho cùng. – imdadhusen
Cảm ơn bạn đã cập nhật. Khi bạn gỡ lỗi máy chủ, clientID có được đặt thành giá trị bạn mong muốn không? –