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

本文关键字:记录 ActionFilterAttribute 活动 详细信息 ASP NET MVC | 更新日期: 2023-09-27 18:00:25

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

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

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

管理员编辑了项目"DEF",并进行了更改:"PM=John"改为"Harry"

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

我正在将ASP.NET MVC 5与Visual Studio 2013一起使用。

谢谢!

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

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

您应该在将新项目写入底层数据存储的同时写入活动日志,甚至可能在同一事务中。如果你有一个存储库,一个简单的方法是用日志功能来装饰它。