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

时间: 2024-08-06 14:29:45

nancy的诊断2的相关文章

《未来医疗》:对未来医疗技术与医疗商业模式的畅想:诊断与治疗将更加便捷,病人将会有更多的自主权。三星推荐

本书主要思想:现在的美国的医疗制度有各种问题:病人没有知情权.费用太高.费用不透明.医疗事故.医疗数据安全.技术的进步和社会的变化会逐步改善这些弊端:诊断和治疗手段逐步提高,智能手机和互联网.社交网络能逐步在医疗领域发挥作用,病人越来越有主动权. 以下是书中一些重要观点与信息的摘抄: 1:令人惊讶的是,直到在1957年修订的版本中,美国医学会才首次提及知情同意权.从医学起源至1957年,很难想象需要历经这么长时间才将知情同意权以及患者的权利正式化.然而不管怎样,总算是实现了.#584 2:这个具

Nancy之基于Self Hosting的补充小Demo

前面把Hosting Nancy with ASP.NET.Self Hosting Nancy和Hosting Nancy with OWIN 以demo的形式简单描述了一下. 这篇是为Self Hosting Nancy.和Owin 下面的Self Hosting作个补充. 首先是Self Hosting Nancy的补充: 这里主要是介绍一下Topshelf 官网:http://topshelf-project.com/ GitHub地址:https://github.com/Topshe

Nancy

Nancy Nancy 是一个轻量级的,简单粗暴的framework用来构建基于HTTP的各种服务,兼容.Net和Mono.Nancy的整套设计理念是基于"super-duper-happy-path",这是一个作者杜撰的单词,个人觉得翻译过来基本就是简单粗暴,行之有效的意思. 简单的例子: public class Module : NancyModule { public Module() { Get["/greet/{name}"] = x => { r

从软件UI,快速诊断出别人或自己的公司,部门,项目,产品,有没有前途

大到政权组织,中到公,私营组织,小到个人,具体到一个项目,一套产品 如何 快速诊断其 有没有前途? 一,看主体是否懒惰 如果连UI截图都没有的,直接略过,不值得浪费自己生命时间去问"有没有UI?为什么没有UI?". 如果一个UI,仿佛没穿衣服的,裸着各种参数和命令行,内部代码水平通常很烂,BUG无数, 这就好比看一个邋遢人,自己脸面都懒得打理,不要指望他能制作出多贴心的应用品或服务. 二,看主体是否专业 如果一个UI,似披着破烂衣服,东贴一块西挂一块,内部代码一定不成熟. 这就好比看人

技巧: 使用truss、strace或ltrace诊断软件的&quot;疑难杂症&quot;

简介 进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本文通过三个实际案例演示如何使用truss.strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症". truss和strace用来 跟踪一个进程的系统调用或信号产生的情况,而 ltrace用来 跟踪进程调用库函数的情况.truss是早期为System V R4开发的调试程序,包括Aix.FreeBSD在内的大部分Unix系统都自

APP性能测试诊断与优化--通过现象猜本质

这段时间忙着帮北京某城商行做移动端性能测试,因移动端IPD.手机等都是无线设备,而且该客户是面临全国各地用户提供移动端APP支持,为了更真实的模拟测试,我跟该项目的项目经理沟通直接在厦门本地通过无线网借用LR工具模拟并发压力测试.很感谢移动架构组的技术专家肖工的帮忙,让我顺利的在本地搭建了模拟机,并跟该项目经理要了生产环境的APK工程包部署后,并根据项目组提供的业务操作手册学习业务知识,后使用LR开发脚本进行压力测试.       因地域距离关系,而且是直接在生产环境压力测试,生产环境在北京,压

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第3/10套:Oracle性能优化之性能诊断工具.主要学习Oracle性能优化,Oracle自带性能诊断工具介绍,日常维护中的性能工具操作过程,awr性能数据的收集时间,awr自动收集性能报告如何实现,awr手工快照如何实现,awr baseline的手工调整与管理,awr性能相关的视图介绍,awr性

Linux 系统监控诊断命令—lsof

lsof命令 lsof(list open files)是一个列出当前系统打开文件的工具.系统在后台为应用程序分配了独立的文件 描述符,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口,描述符提供了大量关于 这个应用程序本身的信息,通过lsof命令能够查看这个列表,常常用于对系统监测诊断排错 [[email protected]~]# lsof COMMAND  PID     USER   FD    TYPE   DEVICE SIZE/OFF      NODE NAME in

DELL 32位诊断工具PEDIAGS使用

DELL PowerEdge Diagnostics 是一款简单实用.基于操作系统的硬件诊断工具!通过它,您可以很清楚的了解DELL系统的硬件健康状况,更有效的判断和定位硬件问题.该工具是一款安全.免费的软件,您可以从DELL公司的网站上下载它.1. 下载安装下载无需多说,目前主要使用dell-pediags-linux-2.8.0.398-A01.tar.gz 版本,直接解压缩,然后执行安装脚本:bash install.sh 2. 使用由于服务器大多没有启动 X window,因此我们使用字