nancy的诊断2
接上文.
一 再看看第二个面板内容
点击带文号 的 Interactive Diagnostics 这个面板 如下
上面的是诊断程序,默认是系统提供的测试用的诊断程序. 你可以 通过实现IDiagnosticsProvider接口,来使用自己的诊断程序,然后加入到配置就可以了
如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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 就会现实相关的信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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
作者:过错
出处:http://www.cnblogs.com/wang2650/
关于作者:net开发做的久而已。十余年时光虚度!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:wang2650@163.com
联系我,非常感谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)