【发布时间】:2021-11-28 00:46:49
【问题描述】:
上下文
我正在使用 .Net Framework 4.8 在 MVC5 应用程序中尝试连接 Audit.Net。
数据提供者:EntityFramework
输出:宇宙
DI 提供者:Autofac
问题
我尝试了以下回调来尝试将用户名写入 AuditEvent。
Configuration.AddOnCreatedAction(scope =>
{
var username = HttpContext.Current.User.Identity.GetUserId();
scope.SetCustomField("User2", username);
});
Configuration.AddOnSavingAction(scope =>
{
var username = HttpContext.Current.User.Identity.GetUserId();
scope.SetCustomField("User2", username);
});
Configuration.AddOnSavingAction(scope =>
{
var user = AutofacDependencyResolver.Current.Resolve<IPrincipal>();
scope.SetCustomField("User2", user.Identity.GetUserId());
});
这些用于对 dbContext.SaveChanges() 的同步调用,当调用 SaveChangesAsync() 时,我无法访问当前的 HttpContext,因为它始终为空。
有什么建议吗?
【问题讨论】: