教你用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}", );
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}", );
msg.AppendFormat("&MsgTypeId={0}", );
msg.AppendFormat("&EntName={0}", "Mobile项目时时检测");
msg.AppendFormat("&groupId={0}", );
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.打开聊天界面,系统运行情况一目了然
当然,大的项目自然有很多监测方法,只是自己突然想到了这么个思路,挺有意思的哈~~
教你用SingalR实现后台开发程序运行时时检测的更多相关文章
- 基于gis的系统开发,程序运行出现问题 ArcGIS product not specified.You must first bind to an ArcGIS version prior to using any ArcGIS components.
在之前初始化的时候添加下面的一行代码:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);还需要添加一个引 ...
- win10关闭后台应用程序进程的方法
一)win10系统后台应用有两大特点: 1.win10系统有许多系统自带应用软件,在系统任务栏中看不到任何自带的应用程序运行 2.但通过任务管理器的进程中,可直观的看到许多非系统进程正在运行. 二)后 ...
- Django微信小程序后台开发教程
本文链接:https://blog.csdn.net/qq_43467898/article/details/83187698Django微信小程序后台开发教程1 申请小程序,创建hello worl ...
- discuz后台开发常用函数
showsetting()表单显示 返回值:无 参数: $setname - 指定输出标题,如:setting_basic_bbname, 自动匹配描述文字为:setting_basic_bbname ...
- php微信支付接口开发程序
php微信支付接口开发程序讲解 微信支付接口现在也慢慢的像支付宝一个可以利用api接口来实现第三方网站或应用进行支付了, 下文整理了一个php微信支付接口开发程序并且己测试,有兴趣的朋友可进入参考. ...
- TypeScript开发程序
使用TypeScript开发程序 简介 TypeScript一直发展不错,我们公司在开发新功能时,考虑到程序的可维护性,使用了TypeScript编写浏览器上的程序,我们是从零开始使用TypeScri ...
- 对ios、android开发程序员的14条忠告
————————本文摘自千锋教育(http://www.mobiletrain.org/)对ios\android开发程序员的14条忠告————————— 1.不要害怕在工作中学习. 只要有电脑,就可 ...
- 携程Java后台开发三面面经
前言 携程是我面试的第一个互联网公司,投递的岗位是后台开发实习生,总共面了三面,止步于人才库.中间兜兜转转,复杂的心理活动,不足与外人道也.唯有面试的技术部分与大家共享. 宣讲会完了之后有个手写代码的 ...
- 微信小程序开发——前端如何区分小程序运行环境
前言: 之前用vue做h5项目,对于接口请求,都是根据前端访问域名来判断运行环境,然后自动适配对应的服务器地址的.这样的好处就是在开发.测试及发布上线全程都不需要手动去改接口请求地址,只要提前配置好就 ...
随机推荐
- python 爬虫系列09-异步斗图来一波
斗图斗图,妈妈再也不怕我都不赢了 import requests from lxml import etree from urllib import request import os import ...
- 面试题-Java设计模式举例
面试题-Java设计模式举例 1.适配器模式 涉及三个角色:Target目标接口.Adaptee源角色.Adapter适配器:Adapter将源接口适配到目标接口,继承源接口,实现目标接口. Java ...
- centos系统为php安装memcached扩展
1. 通过yum安装 yum -y install memcached #安装完成后执行: memcached -h #出现memcached帮助信息说明安装成功 2. 加入启动服务 chkconfi ...
- thinkphp执行流程
1. 入口文件index.php 用户对url的访问首先被定位到http://<serverIp>/<appName>/index.php, 这里的入口文件index.php做 ...
- Spring MVC处理异常有3种方法
1.使用 SimpleMappingExceptionResolver 实现异常处理 <bean class="org.springframework.web.servlet.hand ...
- java XML解析成Map
1.需要解析的文件.xml <?xml version="1.0" encoding="UTF-8"?> <request> <r ...
- UiPath进阶
最近RPA比较火,UiPath工具排名前几位并且免费试用,很多朋友们都选择了学习自动化工具UiPath,今天我就向大家介绍一下UiPath的学习过程,希望对后来的学习这个工具的人有所帮助. UiPat ...
- inteliJ IDEA使用SVN进行代码管理
inteliJ 自带版本控制,所以不用像网上其他人说的那样,装第三方插件. 首先装完inteliJ 后,在File-->Setting-->Version Control中选择Subver ...
- JavaScript(Two)
innerHtml xx.innerHtml 读取元素内的所有Html内容 xx.innerHtml = 新的值 替换元素内的所有Html内容 JS中不予许出现"-"; font- ...
- GitHub网页端和客户端操作
参见GitHub上的repository中的moreLove.tata.tata2 moreLove 在网页版GitHub上创建的空项目然后填充的tata 在windows客户端创建的空项目然后填充的 ...