用SignalR实现实时查看WebAPI请求日志
2016-04-25 11:10
405 查看
实现的原理比较直接,定义一个MessageHandler记录WebAPI的请求记录,然后将这些请求日志推送到客户端,客户端就是一个查看日志的页面,实时将请求日志展示在页面中。
这个例子的目的是演示如何在PersistentConnection类外部给Clients推送消息
Monitor
示例代码下载
这个例子的目的是演示如何在PersistentConnection类外部给Clients推送消息
<!DOCTYPE html> <html> <head> <title>Web API页面实时请求监控</title> <meta charset="utf-8" /> </head> <body> <h1>Web API Request Logs</h1> <div> <input type="button" value="start" id="btnStart"/> <input type="button" value="stop" id="btnStop"/> <input type="button" value="clear" id="btnClear"/> </div> <ul id="requests"></ul> <script src="/Scripts/jquery-1.10.2.min.js"></script> <script src="/Scripts/jquery.signalR-2.2.0.min.js"></script> <script> $(function () { var requests = $("#requests"); var startButton = $("#btnStart"); var stopButton = $("#btnStop"); var connection = null; enable(stopButton, false); enable(startButton, true); startButton.click(function () { startConnection(); enable(stopButton, true); enable(startButton, false); }); $("#btnClear").click(function () { $("#requests").children().remove(); }); stopButton.click(function () { stopConnection(); enable(stopButton, false); enable(startButton, true); }); function startConnection() { stopConnection(); connection = $.connection("/monitor"); connection.start() .fail(function () { console.log("connect failed"); }); connection.received(function (data) { data = data.replace(/\r\n/g, "<br/>") data = data.replace(/\n/g, "<br/>"); requests.append("<li>" + data + "</li>"); }); } function stopConnection() { if (connection != null){ connection.stop(); } } function enable(button, enabled) { if (enabled) { button.removeAttr("disabled"); } else { button.attr("disabled", "disabled"); } } }); </script> </body> </html>
Monitor
示例代码下载
相关文章推荐
- VS快捷键
- ButterKnife--View注入框架
- 智能指针
- Properties类的使用和源码浅析
- iOS的文件存放路径
- Oracle 释放(恢复)数据文件大小
- Oracle的同义词
- Canvas绘制风向盘
- MySql的flush用法
- PostgreSQL和MySQL的性能对比实验
- JAVA--备忘录模式(Memento)--设计模式十九
- JAVA中的多线程
- leetcode 345. Reverse Vowels of a String
- [pip]安装和管理python第三方包
- JAVA程序员养成计划之JVM学习笔记(3)-JVM性能监控
- C#中params关键字的作用理解
- SOLR安装简单配置
- 关于<s:iterator/>标签
- Cookie(甜饼)
- MySQL快速学习入门