Получите свойство Имя пользователя AuditAction в производном AuditDataProvider - PullRequest
1 голос
/ 16 апреля 2019

Я использую Audit.Net и Audit.MVC 14.2.2.0. Великолепные рамки!

Я расширил AuditDataProvider:

 public class SQLAuditDataProvider : AuditDataProvider

В этом классе я хотел бы получить объект Action для audEvent, чтобы можно было регистрировать имя пользователя. (Мне не нужно имя пользователя среды, хотя я могу его получить.) Когда я отлаживаю, я вижу это свойство Action, но когда я пытаюсь его ввести, я получаю ошибку времени компиляции.

Я мог бы сохранить его как CustomField в HomeController, но было бы предпочтительнее просто получить его в SQLAuditDataProvider.

Я, вероятно, делаю что-то глупое, но что я пропустил?

1 Ответ

1 голос
/ 17 апреля 2019

Вы можете разыграть 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();
...