This example来自微软关于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);
}
}
}And this example来自微软关于SignalR .NET框架的文档“创建和使用集线器”:
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框架不支持从客户端调用返回任务,而SignalR .NET核心具有此功能?是否只有在.NET核心中,我们才能等待对客户端的调用,以确保消息已被接收?
发布于 2020-02-04 17:45:10
如果覆盖基本的hub方法,您可以看到它们返回一个任务,因此您可以让其他方法也返回一个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();
}https://stackoverflow.com/questions/60052878
复制相似问题