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性能分析工具
			1.首先要有一个trace文件 2. 打开trace文件 3. 另存为跟踪表 4.登录你要保存到的目标sqlserver服务器 5. 选择要保存的数据库和表名称 6. 保存完成(左下角出现进度直到显示 ... 
- mysql单表查询&&多表查询(职员表14+9)
			dept(deptno,dname,loc) emp(empno,ename,job,mgr,hiredate,sal,COMM,deptno) salgrade(grade,losal,hisal) ... 
- Linux内核配置机制(make menuconfig 、Kconfig、Makefile)讲解【转】
			本文转载自:http://www.codexiu.cn/linux/blog/34801/ 前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式—— ... 
- 161118、linux(centos) 项目部署阶段相关命令汇总
			1.ssh免密码登陆 主要命令 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys-->添加公钥 service sshd restart ... 
- WIN7(VISTA)系统无法上网问题排查方法
			WIN7(VISTA)系统无法上网问题排查方法 一.无法通过DHCP自动获取到IP 1. 确认正确配置路由器的DHCP功能 a.一般租期建议设置为1-3小时,推荐设置1小时. b.DHCP地址池不要和 ... 
- Wall Street English
			1月23号,报名Wall Street English! 
- Oracle触发器使用介绍
			触发器,函数,包都是可以再生利用的东西,所以在创建的时候都要用到create or replace这个万能语句,接着就是主角trigger的出现了,主角出现还需要一点点波动,通常大人物都不是随随便便就 ... 
- Asp.net mvc5 解析route源码实现自己的route系统
			url route 路由系统的责任是找到匹配的路由,创建路由数据,并将请求分配给一个处理程序. 选择动作是 MVC 的处理程序的实现细节.它使用路由数据和从传入请求其他信息来选择要执行的操作 实例 源 ... 
- JavaScript和angularJs语法支持严格模式:”use strict”
			如果给JavaScript和angularjs代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的.其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常.其二:如果在运 ... 
- 会话标识未更新(AppScan扫描结果)
			最近工作要求解决下web的项目的漏洞问题,扫描漏洞是用的AppScan工具,其中此篇文章是关于会话标识未更新问题的.下面就把这块东西分享出来. 原创文章,转载请注明 ----------------- ... 
