程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WebApi 消息攔截,webapi消息攔截

WebApi 消息攔截,webapi消息攔截

編輯:關於.NET

WebApi 消息攔截,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中可以獲取方法的返回結果,通過這兩個方法可以獲取調用該服務所花費的時間等

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved