前言
在Nancy中有個(gè)十分不錯(cuò)的功能-Diagnostics,可以說這個(gè)功能讓人又愛又恨。
或許我們都做過下面這樣的一些嘗試:
記錄某一個(gè)功能用到的相關(guān)技術(shù)信息
記錄下網(wǎng)站的訪問記錄
全局配置某些框架內(nèi)部功能的開關(guān)
.....
當(dāng)然,對(duì)于上面提到的這些東西,現(xiàn)在都有非常成熟的解決方案可以用。
不過,Nancy在內(nèi)部也實(shí)現(xiàn)了這樣的一個(gè)機(jī)制,可以讓我們比較方便的處理這些問題。
下面我們先來看看具體是如何使用的!本文也是著重于如何使用。
如何使用
由于在Nancy1.x與2.x中的差別,在使用Diagnostics的用法上也有了略微較大的差別。
截至在本文編寫之前(2017-06-26),Nancy在GITHUB上面的相關(guān)介紹還是基于1.x的。而本文是用2.0作為例子演示的,當(dāng)然也有與1.x的簡(jiǎn)單對(duì)比。
在2.0中,Diagnostics的啟用是通過在Bootstrapper中的Configure方法啟用,而在1.x中是通過重寫一個(gè)DiagnosticsConfiguration類型的屬性來啟用。
下面是兩個(gè)大版本之間的使用方法:
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