1.需求:web客户端在启动时,需订阅mq服务端的消息。目前是在Home控制器启动的。这样一个问题,就是该控制器经常被访问,于是加了一个判断。
2.优化思路,想把监控这块放在Program里,通过一个不被干掉和打扰的线程来做,想到是不是开一个后台服务。但不知具体写法(用.net 6.0以上)
3.目前做法:在Program里,配置了路由:parrn:"{Controller=Home}/{action=Index}/{id?}。在Index方法中,有一个Start()方法,开启mqtt监听
asp.net core mvc中监听设备方式优化
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- wanghui0380 2024-06-03 08:40关注
web客户端在启动时,需订阅mq服务端的消息。目前是在Home控制器启动的。这样一个问题,就是该控制器经常被访问,于是加了一个判断。
额,这描述那里不对啊? web客户端?运行在浏览器里,直接用js就好(js里多的是mqtt库,如果是不入库直接在页面显示的,直接用js写就是)
不过换个描述给web客户端提供服务的webserver,到可以理解了。
那么楼上就行了,自己写个Ihostedservice,或者backworkservice。至于如何连接mqtt服务器就是普通控制台的代码,mqttclient
然后在启动前 在 configservcie配置注入即可。假设是net8所谓的轻api,基本写法是
var builder = WebApplication.CreateBuilder(args); builder.Services.AddHostedService<MqttBridge>(); public class MqttBridge : BackgroundService //这个我就不扩展写了,你明白意思即可
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 网络分析设施点无法识别
- ¥15 状态图的并发态问题咨询
- ¥15 PFC3D,plot
- ¥15 VAE模型编程报错无法解决
- ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
- ¥15 物体组批优化问题-数学建模求解答
- ¥15 微信原生小程序tabBar编译报错
- ¥350 麦克风声源定位坐标不准
- ¥15 apifox与swagger使用
- ¥15 egg异步请求返回404的问题