zoukankan      html  css  js  c++  java
  • 教你用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.打开聊天界面,系统运行情况一目了然

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

  • 相关阅读:
    三、 复杂对象类型的WebService
    Axis2.x WebService开发指南目录索引
    eclipse/MyEclipse 日期格式、注释日期格式、时区问题
    IE6、IE7、IE8的CSS、JS兼容
    一、CXF WebService准备工作
    十二、用Axis操作 Header头部信息
    六、 跨多个WebService管理Session
    jQuery autocomplete 自扩展插件、自动补全示例
    二、Axis2的简单WebService示例
    六、传递、返回复杂类型的对象
  • 原文地址:https://www.cnblogs.com/panzi/p/5128113.html
Copyright © 2011-2022 走看看