通过ASP.NET MVC中的ActionFilterAttribute记录活动的详细信息

时间:2014-04-27 05:59:22

标签: c# asp.net-mvc

我使用自定义操作过滤器继承ActionFilterAttribute来记录活动日志,但我只能获得当前的用户名,日期时间,控制器和操作。我想了解更多细节。

示例我想获得如下字符串:

  

"管理员创建了一个项目" ABC""

  

"管理员编辑项目" DEF"随着变化:" PM = John"哈利"

Project是我的DB和Create的表,Edit可以是Action,PM是Project表的一个字段!

我在Visual Studio 2013中使用ASP.NET MVC 5.

谢谢!

1 个答案:

答案 0 :(得分:0)

我不认为动作过滤器适合您要实现的目标。如果在执行操作之前执行日志记录,即使数据结果无效,您也将记录项目的创建。您可以在执行操作后执行日志记录,但是您必须注意异常并推断实际创建的内容会很尴尬。

您应该在将新项目写入基础数据存储的同时写入活动日志,甚至可能在同一事务中。如果您有一个存储库,一种简单的方法是使用日志记录功能decorate