当前位置: 首页 > wzjs >正文

台州本地做网站的mac蜜桃923色号

台州本地做网站的,mac蜜桃923色号,网站排名分析,重庆工商代办代理公司ASP.NET Core SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能。 实时 Web 功能使服务器端代码能够将内容推送到客户端。以下是 ASP.NET Core SignalR 的一些主要功能:自动处理连接管理同时向所有连接的客户端发送消息。 例如聊天室向特定…

ASP.NET Core SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能。 实时 Web 功能使服务器端代码能够将内容推送到客户端。

以下是 ASP.NET Core SignalR 的一些主要功能:

  • 自动处理连接管理
  • 同时向所有连接的客户端发送消息。 例如聊天室
  • 向特定客户端或客户端组发送消息

SignalR 支持以下用于处理实时通信的技术(按正常回退的顺序):

  • WebSocket
  • Server-Sent 事件
  • 长轮询

ASP .NET Core中已经内置了SignalR了,所以使用起来很方便,只需创建Hub中心和启用配置下SignalR即可。

1、创建强类型中心

使用 SendAsync 的缺点在于,它依赖于字符串来指定要调用的客户端方法。 如果客户端中的方法名称拼写错误或缺失,则这会使代码可能出现运行时错误。

将ChatHub客户端方法提取到名为IChatClient接口中

/// <summary>
/// 聊天Hub客户端接口
/// </summary>
public interface IChatClient
{/// <summary>/// 客户端监听广播事件/// </summary>/// <param name="message">消息</param>/// <returns></returns>Task ReceiveBroadcast(string message);/// <summary>/// 客户端监听接收消息事件/// </summary>/// <param name="message">消息</param>/// <returns></returns>Task ReceiveMessage(string message);
}

创建强类型ChatHub 

/// <summary>
/// 聊天hub
/// </summary>
[Authorize]
public class ChatHub : Hub<IChatClient>
{/// <summary>/// 建立连接/// </summary>/// <returns></returns>public override async Task OnConnectedAsync(){await SendBroadcast(Context.UserIdentifier + ":online");await base.OnConnectedAsync();}/// <summary>/// 发送广播/// </summary>/// <param name="message">消息</param>/// <returns></returns>public async Task SendBroadcast(string message){await Clients.All.ReceiveBroadcast(message);}/// <summary>/// 发送消息/// </summary>/// <param name="targetUserId">目标用户</param>/// <param name="message">消息</param>/// <returns></returns>public async Task SendMessage(string targetUserId, string message){await Clients.User(targetUserId).ReceiveMessage(message);}/// <summary>/// 断开连接/// </summary>/// <param name="exception"></param>/// <returns></returns>public override async Task OnDisconnectedAsync(Exception? exception){await SendBroadcast(Context.UserIdentifier + ":offline");await base.OnDisconnectedAsync(exception);}
}

注: Clients.User(targetUserId)中targetUserId需要和授权令牌中ClaimTypes.NameIdentifier值一致,因为SignalR 使用与连接关联的 ClaimTypes.NameIdentifier 中的 ClaimsPrincipal 作为用户标识符。

 2、配置 SignalR 中心

 在Program.cs中调用 AddSignalR方法,以注册 SignalR 中心所需的服务

var builder = WebApplication.CreateBuilder(args);builder.Services.AddSignalR();var app = builder.Build();

Program.cs中调用 MapHub方法,以配置 SignalR 终结点

var app = builder.Build();app.MapHub<ChatHub>("/Chat");app.Run();

http://www.dtcms.com/wzjs/396472.html

相关文章:

  • 成立一个做网站的工作室网站统计数据
  • 建设网站jw100网站设计公司有哪些
  • 婚纱类网站素材搜索引擎大全网站
  • 网站行程表怎么做宁波的网络营销服务公司
  • 松原公司做网站关键词优化怎么写
  • 网站竞价 英文百度seo关键词排名 s
  • 网络分销渠道百度快照优化推广
  • 河南省建设培训中心网站seo外包软件
  • php mysql 企业网站源码北京seo运营推广
  • 什么是网站建设方案武汉新闻最新消息
  • 攀枝花网站开发泰安seo培训
  • 介绍邯郸的网页seo诊断工具
  • win8怎么建设网站企业网站
  • 网站建设加优化什么软件推广效果好
  • 做网站 帮别人卖服务器西安关键词网站排名
  • vb做的网站怎么调试seo提升关键词排名
  • 苹果做安卓游戏下载网站南昌seo实用技巧
  • 网站设计示例赵阳竞价培训
  • 潍坊网站建设案例seo收费标准
  • 网站建设发票的税点佛山网络排名优化
  • 个体营业执照网上年报seo优化方案总结
  • 沙井网站推广销售外包公司
  • 设计相关网站网络营销的现状和发展趋势
  • 石家庄市住房城乡建设局网站互动营销的案例有哪些
  • 全球采购seo点击软件排名优化
  • 网站群建设的优点新疆疫情最新情况
  • 软件工程师怎么学宿州百度seo排名软件
  • 专业苏州网站建设公司seo外贸网站制作
  • 一级门户网站建设费用网站优化推广招聘
  • 做恐怖网站学生制作个人网站