zoukankan      html  css  js  c++  java
  • Core中间件——访问记录

    引言

      上半年使用的thinkjs开发的node项目有一个优点就是所有请求都会有日志记录在控制台输出,里面包含了请求地址以及耗时。我就希望在.net中也可以实现这样子的功能,正好想到了中间件,所以就用中间件来实现该功能。

    实现

      该功能主要分为两部分:一个是IApplicationBuilder的拓展实现,一个是中间件的功能实现

     拓展实现也是我今天在弄懂的一个东西,之前一直很好奇,别人是怎么让String类可以拓展方法的。

    拓展方法实现代码如下:

    UseRequestRecord方法中的app参数的类别是IApplicationBuilder就意味着这个方法是IApplicationBuilder类别的拓展方法(this不能漏了)。

    该拓展方法主要是调用了RequestRecordMiddleware这个中间件(num是我测试的传值)

    中间件方法代码实现如下:

    中间件的功能内容都是写在InvokeAsync方法中的(好像可以去除Async改为同步的方法)。需要注意的就是中间件的洋葱模型,所以计时器的开始和结束分别在_next调用Invoke方法的前后。最后效果如下:

  • 相关阅读:
    这是一棵树吗
    感染者
    es6 语法
    css3 flex 详解,可以实现div内容水平垂直居中
    移动端实现复制内容至剪贴板小例子
    jq+mui 阻止事件冒泡
    移动端H5 判断IOS还是Android 平台
    移动端布局 rem,和px
    关于H5移动端开发 iPhone X适配
    H5 微信公众号 监听返回事件
  • 原文地址:https://www.cnblogs.com/moshanghuakai/p/9627039.html
Copyright © 2011-2022 走看看