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