SignalR .NET framework vs SignalR .NET Core feature



此示例来自 SignalR .NET Core 上的 Microsoft 文档"创建和使用中心":

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);
}
}
}

这个例子来自 SignalR .NET Framework 上关于"创建和使用集线器"的 Microsoft 文档:

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 .NETFramework不支持来自客户端调用的returnig Task,而SignalR .NET Core具有此功能是否正确?是否只有在 .NET Core 中,我们才能等待对客户端的调用以确保收到消息?

如果你覆盖基本集线器方法,你可以看到它们返回一个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();
}

最新更新