From 56872777997e79c607ef66e05598bc19d47cea19 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 1 Apr 2021 11:48:27 +0800 Subject: [PATCH] Call SaveChangesAsync in AbpAuditingMiddleware --- .../AspNetCore/Auditing/AbpAuditingMiddleware.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs index ddcfd61aeb..99c9ccb2d5 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Options; using Volo.Abp.Auditing; using Volo.Abp.DependencyInjection; +using Volo.Abp.Uow; using Volo.Abp.Users; namespace Volo.Abp.AspNetCore.Auditing @@ -16,16 +17,19 @@ namespace Volo.Abp.AspNetCore.Auditing protected AbpAuditingOptions AuditingOptions { get; } protected AbpAspNetCoreAuditingOptions AspNetCoreAuditingOptions { get; } protected ICurrentUser CurrentUser { get; } + protected IUnitOfWorkManager UnitOfWorkManager { get; } public AbpAuditingMiddleware( IAuditingManager auditingManager, ICurrentUser currentUser, IOptions auditingOptions, - IOptions aspNetCoreAuditingOptions) + IOptions aspNetCoreAuditingOptions, + IUnitOfWorkManager unitOfWorkManager) { _auditingManager = auditingManager; CurrentUser = currentUser; + UnitOfWorkManager = unitOfWorkManager; AuditingOptions = auditingOptions.Value; AspNetCoreAuditingOptions = aspNetCoreAuditingOptions.Value; } @@ -44,7 +48,7 @@ namespace Volo.Abp.AspNetCore.Auditing try { await next(context); - + Debug.Assert(_auditingManager.Current != null); if (_auditingManager.Current.Log.Exceptions.Any()) { @@ -60,6 +64,11 @@ namespace Volo.Abp.AspNetCore.Auditing { if (ShouldWriteAuditLog(context, hasError)) { + if (UnitOfWorkManager.Current != null) + { + await UnitOfWorkManager.Current.SaveChangesAsync(); + } + await saveHandle.SaveAsync(); } }