首页 > Web开发 > 详细

使用MVC过滤器保存操作日志

时间:2016-06-03 21:27:07      阅读:392      评论:0      收藏:0      [点我收藏+]

 

//定义过滤器

public class  LogAttribute : ActionFilterAttribute
{
/// <summary>
/// 以逗号间隔
/// </summary>
private readonly string _parameterNames;


public BizActivityLogAttribute( string parameters)
{

_parameterNames = parameters;

}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{

var _logTypeName = string.Format("{0}/{1}", filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, filterContext.ActionDescriptor.ActionName);

Dictionary<string, string> paramDic = new Dictionary<string, string>();

foreach (var param in _parameterNames.Split(‘,‘))
{
var paramValue = filterContext.Controller.ValueProvider.GetValue(param);

if (!paramDic.ContainsKey(param))
{
paramDic.Add(param, paramValue.AttemptedValue);
}
}

//然后就可以使用Log4Net之类的存储参数了...
}
}

//使用过滤器

[LogAttribute( "msg,msgList")]
public ActionResult GetMessage( [ModelBinder(typeof(JsonBinder<CMessage>))]CMessage msg,
[ModelBinder(typeof(JsonBinder<List<CMessage>>))]List<CMessage> msgList
)
{

return View();
}

 

使用MVC过滤器保存操作日志

原文:http://www.cnblogs.com/zhshlimi/p/5557409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!