c# - SignalR .NET 框架与 SignalR .NET Core 功能
问题描述
此示例来自 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 .NET Framework 不支持来自客户端调用的 returnig 任务,而 SignalR .NET Core 具有此功能?是否仅在 .NET Core 中我们可以等待对客户端的调用以确保收到消息?
解决方案
如果您覆盖基本集线器方法,您可以看到它们返回 a Task
,因此您可以使其他方法也返回 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();
}
推荐阅读
- javascript - 从多维数组访问数据 - Ajax 响应
- java - 如何在 hazelcast 中跨主线程和入口侦听器进行事务?
- c - 编写 n 个后续操作或使用从 0 到 n 的 for 循环之间的执行速度是否存在差异?
- apache - 从外部浏览器访问我的 AWS EC2 服务器 index.html
- c# - RaisePropertyChanged 不更新 UI
- c# - 我正在尝试让我的记忆功能在 C# 计算器上工作
- angularjs - 如何将 angularjs 服务迁移到 redux?
- r - 动态编码函数以在数据表中具有任意数量的参数
- image - 我如何使用自动机按顺序重命名目录结构中的图像
- r - 比较两个不同列表中的图像