Consider this C# code:
4 phương ánCó giải thích
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}What will this hub method do?
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "Send a message to all connected clients.". Khi một client gọi SendMessage với user và message, Clients.All chọn mọi kết nối đang mở tới ChatHub, kể cả chính người gọi, rồi SendAsync yêu cầu từng client chạy phương thức ReceiveMessage đã đăng ký phía client với hai đối số đó, await chờ việc gửi đi xong. "Send a message only to the calling client." sai vì muốn chỉ trả về người gọi phải dùng Clients.Caller. "Send a message only to a specific group." sai vì gửi theo nhóm phải dùng Clients.Group kèm tên nhóm, sau khi đã thêm kết nối vào nhóm bằng Groups.AddToGroupAsync. "Save the message in the database automatically." sai vì SignalR chỉ chuyển tin theo thời gian thực, không lưu gì, muốn lưu phải tự gọi DbContext trong phương thức hub.