簡單的記錄一下
從 action filter 內抓出來源的 controller name、action name 的語法
之後可應用在想處理共通的 request、respone 上
說白了,就是 ActionExecutingContext 類別的使用
MSDN ActionExecutingContext 類別
語法如下:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
log4net.Config.XmlConfigurator.Configure();
string actionName = filterContext.ActionDescriptor.ActionName;
string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
logger.Debug($"controller name:{controllerName},action name:{actionName}");
base.OnActionExecuting(filterContext);
}
得到的 log 如下
DEBUG 2016-09-24 09:24:43,597 76ms LogAttribute OnActionExecuting - controller name:List,action name:Index
DEBUG 2016-09-24 09:25:09,018 25497ms LogAttribute OnActionExecuting - controller name:Home,action name:Index