我使用自定义操作过滤器继承ActionFilterAttribute来记录活动日志,但我只能获得当前的用户名,日期时间,控制器和操作。我想了解更多细节。
示例我想获得如下字符串:
"管理员创建了一个项目" ABC""
或
"管理员编辑项目" DEF"随着变化:" PM = John"哈利"
Project是我的DB和Create的表,Edit可以是Action,PM是Project表的一个字段!
我在Visual Studio 2013中使用ASP.NET MVC 5.
谢谢!
答案 0 :(得分:0)
我不认为动作过滤器适合您要实现的目标。如果在执行操作之前执行日志记录,即使数据结果无效,您也将记录项目的创建。您可以在执行操作后执行日志记录,但是您必须注意异常并推断实际创建的内容会很尴尬。
您应该在将新项目写入基础数据存储的同时写入活动日志,甚至可能在同一事务中。如果您有一个存储库,一种简单的方法是使用日志记录功能decorate。