nancy的诊断2
接上文.
一 再看看第二个面板内容
点击带文号 的 Interactive Diagnostics 这个面板 如下

上面的是诊断程序,默认是系统提供的测试用的诊断程序. 你可以 通过实现IDiagnosticsProvider接口,来使用自己的诊断程序,然后加入到配置就可以了
如
public class CustomDiagnosticsProvider : IDiagnosticsProvider {
public string Name
{
get { return "Custom diagnostics provider"; }
}
public string Description
{
get { return "Provides custom diagnostics capabilities"; }
}
public object DiagnosticObject
{
get { return this; }
}
[Description("Greets a person using their name")]
[Template("<h1>{{model.Result}}</h1>")] //呈现模板
public string Greet(string name)
{
return string.Concat("Hi, ", name);
}
}
然后在启动器中加入 设置
protected override void ConfigureApplicationContainer(TinyIoCContainer container)
{
container.Register<IDiagnosticsProvider>(new CustomDiagnosticsProvider());
}
这样就可以了.

其实这玩意没多大用,就是反射CustomDiagnosticsProvider中的方法 ,供你测试.
第二个是测试路由和视图的,就不说了.

二 最后一个面板 Request Tracing
点击进去,会出现一个session的列表 ,从 return this.Response.AsJson(this.sessionProvider.GetSessions().Select(s => new { Id = s.Id }).ToArray()); 获取的
我的没有session 就是 这样

点击一个sessionid 就会现实相关的信息
Get["/sessions/{id}"] = ctx =>
{
Guid id;
if (!Guid.TryParse(ctx.Id, out id))
{
return HttpStatusCode.NotFound;
}
var session =
this.sessionProvider.GetSessions().FirstOrDefault(s => s.Id == id);
if (session == null)
{
return HttpStatusCode.NotFound;
}
return this.Response.AsJson(session.RequestTraces.Select(t => new
{
t.RequestData.Method,
RequestUrl = t.RequestData.Url,
RequestContentType = t.RequestData.ContentType,
ResponseContentType = t.ResponseData.ContentType,
RequestHeaders = t.RequestData.Headers,
ResponseHeaders = t.ResponseData.Headers,
t.ResponseData.StatusCode,
Log = t.TraceLog.ToString().Replace("\r", "").Split(new[] { "\n" }, StringSplitOptions.None),
}).ToArray());
};
总的来说,这个东西,没有想象中有用.
所有的东西,只要查看 源文件就知道了.在这里

参考地址 https://github.com/NancyFx/Nancy/wiki/Diagnostics
nancy的诊断2的更多相关文章
- nancy中的诊断功能面板1
nancyfx中有一项 诊断功能 ,可以查看网站的基本信息和其他相关信息,还包括查看会话信息,请求输出信息等. 假设你已经安装完了nancyfx.现在开始使用诊断功能: 一 安装 在你的Bootstr ...
- Nancy Web框架
原文 Nancy Web框架 Nancy框架 一.创建第一个Nancy应用 二.探索Nancy的module 1. 模块能够在全局被发现 2. 使用模块为路由创建一个根 三.定义路由 1. 方法 2. ...
- 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断
概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...
- SQL SERVER全面优化-------Expert for SQL Server 诊断系列
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是 ...
- Sql Server 内存相关计数器以及内存压力诊断
在数据库服务器中,内存是数据库对外提供服务最重要的资源之一, 不仅仅是Sql Server,包括其他数据库,比如Oracle,MySQL等,都是一类非常喜欢内存的应用. 在Sql Server服务器中 ...
- Nancy之大杂烩
Nancy关于Hosting的简单介绍 一. Nancy之基于Nancy.Hosting.Aspnet的小Demo 二.Nancy之基于Nancy.Hosting.Self的小Demo 三.Nancy ...
- Nancy之实现API的功能
0x01.前言 现阶段,用来实现API的可能大部分用的是ASP.NET Web API或者是ASP.NET MVC,毕竟是微软官方出产的,用的人也多. 但是呢,NancyFx也是一个很不错的选择.毕竟 ...
- 第二章 Rest框架 Nancy
正如你看到的,Nancy有两个主要用途. 其中第一项是作为一种通用的基于 REST 框架,可替代 ASP.NET Web API 或其他Rest工具包. 默认情况下,Nancy提供一流的路由和内容协商 ...
- [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南
第一章 ADDM简介 在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof.sql_trace.statspack.set even ...
随机推荐
- SQL SERVER索引
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚 ...
- HID USB设备开发技术【转】
本文转载自: 1.高速USB和USB2.0有区别吗? 高速USB和USB2.0是有区别的,区别在于USB2.0是一种规范,而"高速USB"仅指在USB2.0规范中数据传输率 ...
- Linux按键驱动程序设计详解---从简单到不简单【转】
转自:http://blog.csdn.net/coding__madman/article/details/51399353 版权声明:本文为博主原创文章,未经博主允许不得转载. 混杂设备驱动模型: ...
- IIS7.5真变态,服务器时间格式导致不生成WebResource.axd
把时间调成HH:mm格式后,IIS不生成WebResource.axd了,,,从凌晨一点弄到现在......
- HDU 2236:无题II(二分搜索+二分匹配)
http://acm.hdu.edu.cn/showproblem.php?pid=2236 题意:中文题意. 思路:先找出最大和最小值,然后二分差值,对于每一个差值从下界开始枚举判断能不能二分匹配. ...
- /proc/sysrq-trigger的功能 介绍
介绍/proc/sysrq-trigger的强大功能 让大家了解一下,在linux里,可以利用/proc/sysrq-trigger做些事情 # 立即重新启动计算机echo "b" ...
- 20151221001 GridView 模板
<asp:GridView ID="GridView1" runat="server" AllowPaging=" ...
- Piggy-Bank
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- awk用法小结(作者总结)
http://www.chinaunix.net/old_jh/24/691456.html http://wenku.baidu.com/view/ebac4fc658f5f61fb736664d. ...
- WebForm组合查询
封转类 using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <sum ...