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

转载于:https://www.cnblogs.com/gracegeng/p/5990043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值