前言

在Nancy中有个十分不错的功能-Diagnostics,可以说这个功能让人又爱又恨。

或许我们都做过下面这样的一些尝试:

  • 记录某一个功能用到的相关技术信息

  • 记录下网站的访问记录

  • 全局配置某些框架内部功能的开关

  • .....

当然,对于上面提到的这些东西,现在都有非常成熟的解决方案可以用。

不过,Nancy在内部也实现了这样的一个机制,可以让我们比较方便的处理这些问题。

下面我们先来看看具体是如何使用的!本文也是着重于如何使用。

如何使用

由于在Nancy1.x与2.x中的差别,在使用Diagnostics的用法上也有了略微较大的差别。

截至在本文编写之前(2017-06-26),Nancy在GITHUB上面的相关介绍还是基于1.x的。而本文是用2.0作为例子演示的,当然也有与1.x的简单对比。

在2.0中,Diagnostics的启用是通过在Bootstrapper中的Configure方法启用,而在1.x中是通过重写一个DiagnosticsConfiguration类型的属性来启用。

下面是两个大版本之间的使用方法:

2.0的使用如下:

public override void Configure(INancyEnvironment environment){
    environment.Diagnostics(password: "123");    base.Configure(environment);
}

1.x的使用如下:

protected override DiagnosticsConfiguration DiagnosticsConfiguration
{    get { return new DiagnosticsConfiguration { Password = "123"}; }
}

其中,2.0中的写法是通过INa