惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
WordPress大学
WordPress大学
罗磊的独立博客
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Docker
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
J
Java Code Geeks
博客园 - 聂微东
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
美团技术团队
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog

博客园 - 毛毛虫

[Maui] 轮子——插件式开发 [Maui] Windows部署 [Maui] 造轮子——LoggerSqlite [Maui] 造轮子——Exception处理 [Maui] 造轮子——MessageBox [Maui] 造轮子——前言、本地化 [C#] 日积月累 [.net10] 极简数据库对象关系映射 [C#] 扩展Enumerable,实现类似Sqlserver的窗口函数lag [Blazor] 学习随笔——呈现约定 [Blazor] 学习随笔——生命周期 [Blazor] 学习随笔——RZ10012警告的处理 [Blazor WebAssembly] 学习随笔——组件1.微信弹框(WXDialog) [Blazor WebAssembly] 学习随笔——身份验证 Asp.net Help ASP.NET Web 应用 Docker踩坑历程——续 Docker批处理笔记 Asp.net6.0 Swagger使用备忘 ASP.NET Web 应用 Docker踩坑历程
[Net6]自己写个消息推送
毛毛虫 · 2022-07-26 · via 博客园 - 毛毛虫

所在单位有消息推送的需求,整理了一下,具体要求如下:

  1. 服务器(ASP.NET)往桌面客户端(WPF)单向推送;
  2. 客户端消费消息分为一次性消费(如:扫面支付结果推送)、多次消费(如:订单推送)
  3. ClientId在线状态其他客户端不能再用相同的ClientId连接

一开始使用了SingalR,缺点如下:

  1. 包太大
  2. ConnetionId在断线重连后会变化

后来用阿里云的MQTT,太复杂(CLearSession、QOS什么的,整的我云里雾里),另外包也不小,最关键是需要Money。

最终自己动手写了个服务端和客户端。

代码和服务端Demo扔在了gitee,nuget包名称为MPNet6....