- 博客(16)
- 资源 (30)
- 收藏
- 关注
原创 .net core 3.0 Signalr - 实现一个业务推送系统
介绍ASP.NET Core SignalR 是一个开源代码库,它简化了向应用添加实时 Web 功能的过程。 实时 Web 功能使服务器端代码能够即时将内容推送到客户端。SignalR 的适用对象:需要来自服务器的高频率更新的应用。 例如:游戏、社交网络、投票、拍卖、地图和 GPS 应用。仪表板和监视应用。 示例包括公司仪表板、销售状态即时更新或行程警示。协作应用。 协作应用的示例包括白...
2019-10-05 21:03:17 2052
原创 .net core 3.0 Signalr - 09 待改进&交流
个人心得写博客真的比写代码累,膜拜那些坚持写博客的大佬!有时候零散的片段比较多,没写之前感觉有千千万万要写的东西,实际写的时候发现, 好像这个没啥说的,然后就帖了个图,或者一笔带过了待改进&交流使用消息队列替换目前的api调用形式,同时消息队列支持定义推送优先级使用polly来重试失败的调用将连接中传递的userId改成token多个客户端同时关闭,IsLast不准确服务器端需要有...
2019-10-05 22:05:03 627 1
原创 .net core 3.0 Signalr - 08 业务实现-客户端demo
由于signalr作为一个单独的推送系统,跟业务系统是分离开的,所以此处模拟一个业务系统,新建一个.net core app项目模拟实现一个登录功能我们的登录很简单,当进入系统,如果检测到用户未登录则跳转到登录页面,用户只需要输入用户名点击登录即算登录成功配置ConfigServices方法 查看代码 services.AddAuthentication(CookieAuthen...
2019-10-05 21:59:59 1165
原创 .net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组、用户、连接
Hub的管理重写OnConnectedAsync从连接信息中获取UserId、Groups,ConnectId,并实现这三者的关系,存放于redis中代码请查看 using CTS.Signalr.Server.Cores; using CTS.Signalr.Server.Dtos; using Microsoft.AspNetCore.Authorization; u...
2019-10-05 21:55:22 1712
原创 .net core 3.0 Signalr - 06 业务实现-业务分析
业务需求人-项目关系一个人可以属于多个项目,一个项目可以有多个人加入,通知的时候,可以通知项目内的所有人,也可以通知部分人或者某个责任人。登录互斥同一个人不允许登录两次(不同浏览器或者不同电脑登),后面登录的会将前面登录的人挤下线。聊天可以私聊、也可以创建群聊、上线通知(多个连接的情况)文件下载用户在界面上选择了多个文件,然后选择批量打包下载,后端后台线程进行压缩、压缩完成后通过sign...
2019-10-05 21:50:58 1097
原创 .net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联
Signalr是以Group、Connect为核心来进行推送,比如,给某个组、某个连接来推送,但实际场景中,核心应该是某个组、某个人;然而一个人可以对应多个连接(浏览器多个tab页);本节就来介绍下自行管理人、组、连接这些关系由于signalr连接的时候不那么方便附带header和cookie(因为推送独立成一个子系统了),实际实现中采用以url query的形式附带上token,然后服务器端自定...
2019-10-05 21:46:11 1574
原创 .net core 3.0 Signalr - 04 使用Redis做底板来支持横向扩展
在实际的系统中,可能需要多台机器部署;然而,Signalr的连接信息是跟站点走的,举个例子推送系统部署了A、B两个服务器,张三访问A服务器,李四访问B服务器,当张三通过A服务器向李四推送的时候,A服务器上是找不到李四的连接信息的,自然也就推送不过了,这个时候就需要有一个统一协调的玩意,signalr支持多种,Azure、Redis等,本节以Redis作为底板,介绍如何在Signalr中使用Redi...
2019-10-05 21:41:47 1733
原创 .net core 3.0 Signalr - 03 使用MessagePack压缩传输内容
MessagePack基础介绍Signalr默认使用的是json形式传递数据,但是signalr提供了灵活的扩展,支持MessagePack形式序列化数据,以增加性能降低网络传输的效果,极大的提高响应速度。先看一个MessagePack自定义序列化的例子,以一个自定义的实体对象为例,可以使用MessagepackObject标记为序列化的对象,同时定义使用属性名作为key(区分大小写),同时可...
2019-10-05 21:37:18 1925
原创 .net core 3.0 Signalr - 02 使用强类型的Hub
强类型的优缺点优点强类型的Hub可以避免魔法函数名,相比弱类型更容易维护和发现问题,直接上代码缺点特么的得多些好几行代码代码接口定义 /// <summary> /// 服务端接口 /// </summary> public interface IServerNotifyHub { } /// &...
2019-10-05 21:32:55 1521
原创 .net core 3.0 Signalr - 01 基础篇
因为将signalr作为单独的站点,此处需要建立两个项目,一个专门用于signalr作为推送项目,一个客户端(实际的业务项目)基础知识速览Clients对象属性属性描述All在所有连接的客户端上调用方法Caller在调用集线器方法的客户端上调用方法Others除当前连接外的所有连接Clients对象方法方法描述AllExcept在所有...
2019-10-05 21:26:25 1930 1
原创 .Net文件操作--赋值、粘贴、删除
1、.net删除文件或者文件夹(文件夹以"\"结尾) public static bool FilePicDelete(string path) { bool ret = false; System.IO.FileInfo file = new System.IO.FileInfo(path); if (file.E
2012-09-07 20:48:37 271
原创 合并单元格
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI.WebControls;/// ///合并单元格 的摘要说明/// public class Combine{public Combine (){
2012-09-04 13:55:48 189
原创 文件夹操作
using System;using System.Collections.Generic;using System.Web;using System.Text;using System.IO;using System.Configuration;using System.Web.UI.WebControls;using System.Web.UI;using Sy
2012-09-04 13:55:17 386
原创 DataSet转换成Excel
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using
2012-09-04 13:54:47 383
原创 数据库操作类
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.W
2012-09-04 13:54:06 229
原创 C# 如何实现热键注册 RegisterHotKey
RegisterHotKey(this.Handle, 247696411, 0, (UInt32)Keys.***);http://baike.baidu.com/view/1080084.html?tp=0_10 这里有RegisterHotKey的介绍RegisterHotKey 函数功能:该函数定义一个系统范围的热键。函数原型:BOOL RegisterHotKey(HWN
2012-06-14 09:33:33 583
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人