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

珠海网站建设 超凡科技专业建站培训

珠海网站建设 超凡科技,专业建站培训,网络科技公司上班做些什么,《教师网站建设与应用管理制度》asp.net core 使用 signalR#xff08;一#xff09;IntroSignalR 是什么#xff1f;ASP.NET Core SignalR 是一个开源代码库#xff0c;它简化了向应用添加实时 Web 功能的过程。实时 Web 功能使服务器端代码能够即时将内容推送到客户端。SignalR 的适用对象#xff1a;需… asp.net core 使用 signalR一IntroSignalR 是什么ASP.NET Core SignalR 是一个开源代码库它简化了向应用添加实时 Web 功能的过程。实时 Web 功能使服务器端代码能够即时将内容推送到客户端。SignalR 的适用对象需要来自服务器的高频率更新的应用。例如游戏、社交网络、投票、拍卖、地图和 GPS 应用。仪表板和监视应用。示例包括公司仪表板、销售状态即时更新或行程警示。协作应用。协作应用的示例包括白板应用和团队会议软件。需要通知的应用。社交网络、电子邮件、聊天、游戏、行程警示以及许多其他应用都使用通知。SignalR 提供了一个用于创建服务器到客户端远程过程调用RPC的 API。RPC 通过服务器端 .NET Core 代码调用客户端上的 JavaScript 函数。以下是 ASP.NET Core SignalR 的一些功能自动管理连接。同时向所有连接的客户端发送消息。例如聊天室。将消息发送到特定的客户端或客户端组。扩展以处理增加的流量。传输SignalR 支持几种方法用于处理实时通信WebSockets服务器发送事件长轮询SignalR 会从服务器和客户端支持的功能中自动选择最佳传输方法最近我们在做一个对战的小游戏类似于之前比较火的答题应用使用 websocket 来实现客户端和服务器端的通信服务器端使用的 SignalRSignR 基本使用服务注册服务配置如下services.AddSignalR(options { options.HandshakeTimeout TimeSpan.FromSeconds(3); options.KeepAliveInterval TimeSpan.FromSeconds(10); }) // JSON 序列化配置 .AddJsonProtocol(options { options.PayloadSerializerSettings.ContractResolver new DefaultContractResolver(); options.PayloadSerializerSettings.DateTimeZoneHandling DateTimeZoneHandling.Utc; options.PayloadSerializerSettings.ReferenceLoopHandling ReferenceLoopHandling.Ignore; options.PayloadSerializerSettings.NullValueHandling NullValueHandling.Ignore; });认证方式配置默认的 Token 是从请求头 Authorization 中获取的而 signalr 请求服务器端的时候是放在请求地址的 query string access-token 里面的所以我们要配置从请求头中获取或者从 QueryString 里获取示例配置如下services.AddAuthentication(options { options.DefaultAuthenticateScheme JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme JwtBearerDefaults.AuthenticationScheme; options.DefaultForbidScheme JwtBearerDefaults.AuthenticationScheme; }) .AddIdentityServerAuthentication(options { options.Authority Configuration[Authorization:Authority]; options.RequireHttpsMetadata false; options.TokenRetriever request { var token TokenRetrieval.FromAuthorizationHeader()(request); if (string.IsNullOrWhiteSpace(token)) { token TokenRetrieval.FromQueryString()(request); } return token; }; });Configue 配置app.UseAuthentication(); app.UseSignalR(builder { builder.MapHubQuizGameHub(/hubs/quizGame); // 注册 Hub }); app.UseMvc();自定义 Hub定义 Hub 契约定义一个客户端方法的接口以实现强类型的客户端方法调用这里客户端调用服务器端的方法也定义了一个接口来约束示例如下/// summary /// 客户端定义的方法 /// /summary public interface IQuizGameClient { Task GameQuestionsReceived(QuizQuestion question); Task MatchSuccess(GameInfo gameInfo); Task GameAnswerResultReceived(CheckedUserQuizAnswerModel answer); Task GameOver(GameResult result); } /// summary /// 服务器端定义的方法 /// /summary public interface IQuizGameServer { TaskServiceResultIReadOnlyListQuizGameRuleInfo GetGameRules(); Task AutoMatch(int ruleId); Task CheckQuestionAnswer(BaseQuizAnswer model, string gameId); }定义 Hub有了契约之后我们就可以定义强类型的 Hub 了示例如下:[Authorize(Policy bearer)] public partial class QuizGameHub : HubIQuizGameClient, IQuizGameServer { public TaskServiceResultIReadOnlyListQuizGameRuleInfo GetGameRules() { return Task.FromResult(ServiceResult.Success(QuizGameStorage.GameRuleInfos)); } // ... public async Task CheckQuestionAnswer(BaseQuizAnswer model, string gameId) { // 调用客户端方法 await Clients.User(Context.UserIdentifier) .GameAnswerResultReceived(checkedResult); // 向指定用户发送消息 } public async Task AutoMatch(int ruleId) { // ... } }Referencehttps://docs.microsoft.com/en-us/aspnet/core/signalr/introduction?viewaspnetcore-2.2https://docs.microsoft.com/zh-cn/aspnet/core/signalr/introduction?viewaspnetcore-2.2
http://www.pierceye.com/news/992090/

相关文章:

  • 建设网站jw100有哪些做鞋机设备的网站
  • 模仿网站建设大学生网站设计论文范文
  • 浙江杭州网站建设服务公司哪家好社区推广经验做法
  • 牟平网站制作公司天安云谷网站建设
  • 培训网站建设方案书沈阳定制网站方案
  • 廊坊公司快速建站电子商务网站建设前期规划方案
  • 西安网站建设盈科wordpress 评论模板
  • 网站制作的电话潍坊建立企业网站公司
  • 二级建造师证书查询官方网站21年没封直接可以进的
  • 计科专业毕设做网站傻瓜式做网站程序
  • 创办网站需要怎么做网站的建设方法包括
  • 直邮网站的推广活动怎么做电商美工是做什么的
  • 唐山建设局网站俄罗斯ip地址
  • 贵州省建设厅网站首页旅游seo
  • 郑州网站建设三猫网络新主题 老版本 wordpress
  • 网站 ftp网站首页布局有哪些
  • 3d模型代做网站微分销商城
  • 县区网站建设运行汇报宝塔 wordpress优化
  • 手机网站判断跳转代码怎么写pc网站怎么做自适应
  • 怎样在一个虚拟服务器里做两个网站西安市城乡建设管理局网站
  • 做网站实训总结查看网站建设的特点
  • 淘宝客网站如何让做量化交易网站开发
  • 青岛市城市建设管理局网站网络营销师培训费用是多少
  • 南昌建站模板深圳全网推广效果如何
  • 做网站的好公司wordpress大前端模板下载
  • 建设网站的申请信用卡吗下载百度免费
  • 徐州企业网站设计做瑜伽网站
  • 网站开发就是ssh吗.net 网站开发书籍
  • 网站名称没有排名上海工商网查询企业章程
  • 网站建设方案报价费用明细价格免费开店的电商平台