zoukankan      html  css  js  c++  java
  • WebApi 消息拦截

    最近公司要求对WebApi 实现服务端信息的监控(服务端信息拦截),由于本人之前没有做过这方便的相关项目所以在做的过程中也是困难重重,探索的过程也是非常痛苦的,好歹最终也算实现了这个功能。所以将这个分享出来供大家相互学习。

    要实现webapi的信息拦截其实相对于wcf 和webservice ,我个人觉得算是最简单的一个,本人对这几个服务也不是非常的熟悉,个人技术也有限,所以有不对的地方大家可以提意见,但是千万别喷哈

    首先创建一个类:MsgRecordFilterAttribute 该类继承ActionFilterAttribute(这个需要引用 System.Web.Http.Filters),重写OnActionExecuting,OnActionExecuted两个方法

    代码如下:

    public class MsgRecordFilterAttribute : ActionFilterAttribute
    {
    public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
    {
    base.OnActionExecuting(actionContext);
    }
    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {
    base.OnActionExecuted(actionExecutedContext);
    }
    }

    这样拦截类就完成

    第二步 在webapi WebApiConfig文件中添加过滤:

      config.Filters.Add(new MsgRecordFilterAttribute());

    这样就实现了WebApi 的信息拦截:可以在方法OnActionExecuting中获取客户端调用的方法名称、方法返回值等信息。在OnActionExecuted中可以获取方法的返回结果,通过这两个方法可以获取调用该服务所花费的时间等

  • 相关阅读:
    管程|| 同步与互斥的实现策略
    sqlserver 用户定义表类型
    C# Post Get 方式发送请求
    linux centos Supervisor守护.netcore进程安装配置
    linux cenos开放端口
    SqlServer DbHelper
    C# 执行js
    sql 多行、一行 互转
    sql 删除完全表中完全重复的数据保留一条
    sql 行列互转
  • 原文地址:https://www.cnblogs.com/gracegeng/p/5990043.html
Copyright © 2011-2022 走看看