【发布时间】:2017-06-05 12:21:08
【问题描述】:
这里我写了简单的Action Filter As
public class ActionFilter:ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
Trace.WriteLine(string.Format("Action Method {0} executing at {1}",actionExecutedContext.ActionContext.ActionDescriptor, DateTime.Now.ToShortDateString()), "Web API Logs");
}
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
{
Trace.WriteLine(string.Format("Action Method {0} executed at {1}",actionContext.ActionDescriptor.ActionName, DateTime.Now.ToShortDateString()));
}
在 WebApi 中
[ActionFilter]
public IHttpActionResult GetData()
{
}
在此之前和之后都可以使用,但我不明白为什么这个过滤器会出现
【问题讨论】:
-
Checkout ASP.NET Action Filters 并且它们被设计为在执行操作之前和之后执行。例如,在 Authorize 的情况下,如果未授权,您可以在 Before 处理程序中使请求无效。
标签: asp.net-web-api