我正在使用Audit.Net和Audit.MVC 14.2.2.0。很棒的框架!
我扩展了AuditDataProvider:
public class SQLAuditDataProvider : AuditDataProvider
在该类中,我想获取auditEvent的Action对象,以便可以记录用户名。 (尽管我可以获取环境的用户名,但我不想要它。) 当我调试时,我可以看到该Action属性,但是当我尝试键入它时,出现编译时错误。
我可以将其存储为HomeController中的CustomField,但是最好将其存储在SQLAuditDataProvider中。
我可能正在做一些愚蠢的事情,但是我错过了什么?
答案 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();