教你用SingalR实现后台开发程序运行时时检测

  在调试js的时候都喜欢用console.log输出相应的运行结果或者查看变量值,以便于调试程序bug,可是程序后台代码运行的时候,本地没有问题,线上代码有问题怎么办呢,写日志是一个办法,可是有没有更直观的方式呢,时时监测代码运行情况,那么既然SingalR有时时推送的功能,我自己突发奇想想了这么个写日志的方法。

  首先,拿出之前聊天室的项目。先截一个图:

  第二,你只需要知道singalR服务地址就可以了。我写的代码如下(只是举例,各种方案不一样):

  

复制代码
public static void PushLog(string message)
        {
            var pushUrl = "http://XXXXXXX/ChatPush/XXXXXXX";
            StringBuilder msg = new StringBuilder();
            msg.AppendFormat("ChatMsgId={0}", Guid.NewGuid().ToString());
            msg.AppendFormat("&CvNumber={0}", 747227);
            msg.AppendFormat("&Contents={0}", message);
            msg.AppendFormat("&UserPhoto={0}", "http://img1.gurucv.com/image/417c1ab3-f0ed-4080-9189-a6bb3a381ba9_per_middle.png?t=52442424-7c77-4c01-aae5-43fee8371c3f");
            msg.AppendFormat("&UserName={0}", "[系统监测]");
            msg.AppendFormat("&EntCvNumber={0}", 90000956);
            msg.AppendFormat("&MsgTypeId={0}", 0);
            msg.AppendFormat("&EntName={0}", "Mobile项目时时检测");
            msg.AppendFormat("&groupId={0}", 90000956);
            msg.AppendFormat("&AddTimeStr={0}", DateTime.Now.ToString());

            var json = msg.ToString();
            var result = HttpHelper.SendPost(pushUrl, json);
        }
复制代码

好了,大功告成,调用方式很简单了,例如,在做微信授权功能的时候,我想知道,code是否获取到,就在获取code的代码里面插上一句:

 Utils.PushLog("当前获取的code为:" + code);

那么当发布到线上的时候,你想检测某些代码的运行情况,打开客户端聊天室,就会收到系统发送过来的消息啦。

写的比较粗糙,总结一下:   

1.先用singalR搭建好服务器,(搭建方法可以参考我的另外几篇聊天室博客)界面可以简单一些,开放推送接口。例如我项目的推送接口为 http://singalR.server/chatmsg/push (举例)   

2.自己项目里写上推送方法,调用即可   

3.打开聊天界面,系统运行情况一目了然

当然,大的项目自然有很多监测方法,只是自己突然想到了这么个思路,挺有意思的哈~~

posted @   丶Pz  阅读(1331)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示
+

"大爷常来玩呀"

微信支付