SignalR Core и отправка сообщений клиентам хаба

Есть ли разница (может быть в какой-то безопасности даже), как отправлять сообщения всем клиентам хаба?

Через JavaScript, так:

hubConnection.invoke("Send", message);

Или же отправлять через Fetch POST-запрос с текстом сообщения, например, по адресу "/chat" и далее в теле контроллера проходили проверки, добавлялось сообщение в БД и только потом рассылало сообщение клиентам вот так:

JS Код с обращением по адресу контроллера:

async function postData() {
    let message = document.getElementById("message").value;
     const response = await fetch('/Home/Index', {
                 method: 'POST', 
                 headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
 },
                              
    body: "message=" + message // body data type must match "Content-Type" header
});

Код контроллера:

[HttpPost]
public async Task<IActionResult> Index(string message)
{
   // Here your logic
   // ************
   //------------------
   await _hubContext.Clients.All.SendAsync("RecieveMessage", message);
   return new EmptyResult();           
}

Стоит ли вторым способом слать сообщения или же проще слать их через JS как в первом варианте и дополнительно обращаться другим запросом к БД?


Ответы (0 шт):