在派生的AuditDataProvider

时间:2019-04-16 09:45:32

标签: c# audit.net

我正在使用Audit.Net和Audit.MVC 14.2.2.0。很棒的框架!

我扩展了AuditDataProvider:

 public class SQLAuditDataProvider : AuditDataProvider

在该类中,我想获取auditEvent的Action对象,以便可以记录用户名。 (尽管我可以获取环境的用户名,但我不想要它。) 当我调试时,我可以看到该Action属性,但是当我尝试键入它时,出现编译时错误。

我可以将其存储为HomeController中的CustomField,但是最好将其存储在SQLAuditDataProvider中。

我可能正在做一些愚蠢的事情,但是我错过了什么?

1 个答案:

答案 0 :(得分:1)

您可以将AuditEvent强制转换为AuditEventMvcAction,然后访问Action属性:

var action = (auditEvent as AuditEventMvcAction).Action;

或者您可以使用便捷的扩展方法:

using Audit.Mvc;

var action = auditEvent.GetMvcAuditAction();

// Or from the audit scope
var action = auditScope.GetMvcAuditAction();