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

推荐订阅源

G
Google Developers Blog
D
Docker
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
H
Help Net Security
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
L
LangChain Blog
MongoDB | Blog
MongoDB | Blog
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
SegmentFault 最新的问题
博客园 - 司徒正美
C
Check Point Blog
B
Blog
Y
Y Combinator Blog
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
F
Fortinet All Blogs
美团技术团队
D
DataBreaches.Net

博客园 - 毛毛虫

[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....