SignalR. NET Framework против SignalR. NET Основные функции - PullRequest
0 голосов
/ 04 февраля 2020

Этот пример взят из документов Microsoft на SignalR. NET Ядро "Создание и использование концентраторов":

using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;

namespace SignalRChat.Hubs
{
    public class ChatHub : Hub
    {
        public async Task SendMessage(string user, string message)
        {
            await Clients.All.SendAsync("ReceiveMessage", user, message);
        }
    }
}

И этот пример из документов Microsoft на SignalR. NET Framework на «Создание и использование концентраторов»:

using System;
using System.Web;
using Microsoft.AspNet.SignalR;
namespace SignalRChat
{
    public class ChatHub : Hub
    {
        public void Send(string name, string message)
        {
            // Call the broadcastMessage method to update clients.
            Clients.All.broadcastMessage(name, message);
        }
    }
}

Прав ли я предположить, что SignalR. NET Framework не поддерживает возвратную задачу из вызовов клиента, пока SignalR . NET Ядро имеет эту функциональность? Разве только в. NET ядре мы можем ожидать звонки клиентам, чтобы убедиться, что сообщение получено?

1 Ответ

0 голосов
/ 04 февраля 2020

Если вы переопределите базовые методы-концентраторы, вы увидите, что они возвращают Task, поэтому вы можете использовать другие методы, чтобы возвращать Задачу и делать их async.

public override Task OnConnected()
{
    return base.OnConnected();
}

public override Task OnDisconnected(bool stopCalled)
{
    return base.OnDisconnected(stopCalled);
}

public override Task OnReconnected()
{
    return base.OnReconnected();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...