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中可以获取方法的返回结果,通过这两个方法可以获取调用该服务所花费的时间等

  • 相关阅读:
    将文件导入到SQL server数据库表中的字段中
    查看端口是否启用
    JS去除字符串左右两端的空格
    css常见问题
    iframe之局部刷新
    iframe局部刷新的二种实现方法
    模式识别复习目录
    linux下文件内容查找 转
    LaTeX技巧10:LaTeX数学公式输入初级入门
    matlab中高维数组怎么做PCA?
  • 原文地址:https://www.cnblogs.com/gracegeng/p/5990043.html
Copyright © 2011-2022 走看看