上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: 上节我们使用Clients.All.SendAsync向连接到当前集线器的所有客户端推送消息,而在很多业务场景中,我们一般都只是向部分客户端推送消息。 在我们进行客户端筛选的时候,有3个筛选参数:ConnectionId、组和用户ID。ConnectionId是SignalR为每个连接分配的唯一标识 阅读全文
posted @ 2022-09-29 21:13 龙猫•ᴥ• 阅读(1767) 评论(0) 推荐(0)
摘要: 集线器允许任意客户端连接的话会有安全问题,所以应该对连接进行验证,只有通过验证的用户才能连接集线器。SignalR支持验证和授权机制,我们同样可以用Cookie、JWT等方式进行身份信息的传递。由于JWT更符合项目的要求,因此这里讲解SignalR与JWT验证方式的使用。 第1步: 先在配置系统中配 阅读全文
posted @ 2022-09-28 21:35 龙猫•ᴥ• 阅读(2222) 评论(0) 推荐(0)
摘要: 在多台服务器组成的分布式环境中,我们可以采用黏性会话或者禁用协商的方式来保证来自同一个客户端的请求被同一台服务器处理,但是在分布式环境中,还有其他问题需要解决。 假设聊天室程序被部署在两台服务器上,客户端1、2连接到了服务器A上的ChatRoomHub,而客户端3、4连接到了服务器B上的ChatRo 阅读全文
posted @ 2022-09-28 15:53 龙猫•ᴥ• 阅读(1455) 评论(0) 推荐(0)
摘要: 1.推送方式 SignalR其实并不只是对WebSocket的封装,它支持多种服务器推送的实现方式,包括WebSocket、服务器发送事件(server-sent events)和长轮询。 SignalR的JavaScript客户端会先尝试用WebSocket连接服务器;如果失败了,它再用服务器发送 阅读全文
posted @ 2022-09-28 11:55 龙猫•ᴥ• 阅读(1516) 评论(0) 推荐(0)
摘要: SignalR的介绍 WebSocket 在传统的HTTP中,只能客户端主动向服务器端发起请求,服务器端无法主动向客户端发送消息。有的业务场景下,我们需要服务器端主动向客户端发送消息,比如Web聊天室、OA系统、站内消息等。 为了实现服务器端向客户端推送消息,在2008年诞生了WebSocket协议 阅读全文
posted @ 2022-09-27 21:25 龙猫•ᴥ• 阅读(3903) 评论(0) 推荐(1)
摘要: Swagger中默认没有提供设置自定义HTTP请求报文头的方式,因此对于需要传递Authorization报文头的接口,调试起来很麻烦。我们可以通过对OpenAPI进行配置,从而让Swagger中可以发送Authorization报文头。 我们需要修改Program.cs的AddSwaggerGen 阅读全文
posted @ 2022-09-27 13:56 龙猫•ᴥ• 阅读(1327) 评论(0) 推荐(0)
摘要: .NET封装了对于JWT的操作,让我们在程序中使用JWT进行鉴权和授权更简单。 ASP.NET Core中使用封装的JWT 第1步,我们先在配置系统appsettings.json中配置一个名字为JWT的节点,并在节点下创建SigningKey、ExpireSeconds两个配置项,分别代表JWT的 阅读全文
posted @ 2022-09-27 11:39 龙猫•ᴥ• 阅读(1112) 评论(0) 推荐(1)
摘要: 实现用户登录功能的经典做法是用Session,但是在前后端分离、分布式环境下已经不适应了,而现在我们倾向于采用JWT代替Session实现登录。 JWT全称是JSON web token,它是使用JSON格式来保存令牌信息的。JWT机制不是把用户的登录信息保存在服务器端,而是把登录信息(也叫作令牌) 阅读全文
posted @ 2022-09-21 23:18 龙猫•ᴥ• 阅读(1009) 评论(0) 推荐(0)
摘要: 在一个系统中,不是所有功能都能被自由地访问的,比如有的功能需要注册用户才能访问,有的功能需要VIP用户才能访问。针对资源的访问限制有两个概念:Authentication与Authorization,即鉴权与授权。 Authentication:用来对访问者的用户身份进行验证; Authorizat 阅读全文
posted @ 2022-09-21 21:45 龙猫•ᴥ• 阅读(1469) 评论(2) 推荐(1)
摘要: 事件绑定 1.Vue如何处理事件? v-on 指令用法 <input type = 'button' v-on:click = 'num++'/> v-on 简写形式 <input type = 'button' @click = 'num++'/> 2.事件函数的调用方式 直接绑定函数名称 <bu 阅读全文
posted @ 2022-09-15 14:43 龙猫•ᴥ• 阅读(159) 评论(0) 推荐(0)
摘要: 指令 1.什么是指令? 指令的本质就是自定义属性 指令的格式:以v-开始(如:v-cloak) 2.v-cloak指令用法 插值表达式存在的问题:“闪动” 如何解决该问题:使用v-cloack指令 解决该问题的原理:先隐藏,替换好值之后在显示最终值 1.提供样式 2.在插值表达式所在标签中添加v-c 阅读全文
posted @ 2022-09-15 14:42 龙猫•ᴥ• 阅读(34) 评论(0) 推荐(0)
摘要: #1.Vue概述 Vue.js的创建者:尤雨溪 2014年2月,Vue.js正式发布 2015年10月27日,正式发布1.0.0 2016年4月27日,发布2.0的预览版本 ##Vue:渐进式JavaScript框架 声明式渲染->组件系统->客户端路由->集中式状态管理->项目构建 官网:http 阅读全文
posted @ 2022-09-15 14:40 龙猫•ᴥ• 阅读(63) 评论(0) 推荐(0)
摘要: Task是一个更高级的抽象概念,它代表了一个并发操作,而该操作并不一定依赖线程来完成。Task是可以组合的(可以将它们通过延续(continuation)操作串联在一起)。它们可以使用线程池减少启动延迟,也可以通过TaskCompletionSource采用回调的方式避免多个线程同时等待I/O密集型 阅读全文
posted @ 2022-09-13 15:21 龙猫•ᴥ• 阅读(2046) 评论(0) 推荐(0)
摘要: 线程是一个可以独立执行的执行路径。 **每一个线程都运行在一个操作系统进程中。**这个进程提供了程序执行的独立环境。 在单线程程序中,进程中只有一个线程运行,因此线程可以独立使用进程环境。而在多线程程序中,一个进程中会运行多个线程。它们共享同一个执行环境(特别是内存)。这在一定程度上说明了多线程的作 阅读全文
posted @ 2022-09-13 11:20 龙猫•ᴥ• 阅读(2562) 评论(0) 推荐(1)
摘要: C#.Net 集合 C#集合:枚举IEnumerable C#集合:ICollection和IList接口 C#集合:Array类 C#集合:List、Queue、Stack和Set C#集合:字典 算法 C#:快速排序 Asp.Net Core ASP.NET Core 启动的配置 ASP.NET 阅读全文
posted @ 2022-09-08 16:11 龙猫•ᴥ• 阅读(73) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页