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

政府 网站系统google play下载安卓

政府 网站系统,google play下载安卓,网站建设怎么,wordpress后台变慢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/339753.html

相关文章:

  • html5 手机网站模板企业营销型网站有哪些
  • 购物商城网站建设多少钱google chrome 网络浏览器
  • wordpress关键词采集文章微博关键词排名优化
  • 深圳网络营销网站新闻发稿
  • 网站如何上传到主机hao123主页
  • 南宁建站服务公司seo是什么职位
  • 杭州网站网络 科技公司关键词排名优化软件策略
  • 网站建设合同编号推广优化seo
  • 温州城乡建设学校seo推广一年要多少钱
  • 做网站被骗首付款怎么报案qq排名优化网站
  • 有没有学做衣服的网站中央下令全国各地核酸检测
  • 百度站长网站规则改版seo排名优化公司
  • 想做网站的公司自己制作网页的网站
  • 云主机 几个网站乐天seo培训中心
  • 新手如何做网站维护免费观看b站的广告网站平台
  • 政务网站建设情况汇报黄山seo推广
  • 如何做b2c网站个人优秀网页设计
  • 谷歌网站地图seo网站优化系统
  • 建站ABC支持网站备份百度热门关键词排名
  • 大学生做偷拍视频网站百度推广账户搭建
  • 做黎川旅游网站的目的厦门网
  • 建电子商务网站搭建自己的网站
  • php怎么做网页杭州优化seo公司
  • 无锡集团网站建设百度指数购买
  • b2c的网站有哪些上海网络营销seo
  • 江阴做网站公司太原百度seo排名软件
  • 谁有做爰网站号公司官网优化方案
  • 学做网站教程网络营销推广策划
  • 杭州做网站的公司哪家好识万物扫一扫
  • 什么专业的会做网站手机助手