Merge pull request #8300 from abpframework/liangshiwei/patch-1

Call SaveChangesAsync in AbpAuditingMiddleware
pull/8303/head
Halil İbrahim Kalkan 5 years ago committed by GitHub
commit 0f206fc90b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Volo.Abp.Auditing; using Volo.Abp.Auditing;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Uow;
using Volo.Abp.Users; using Volo.Abp.Users;
namespace Volo.Abp.AspNetCore.Auditing namespace Volo.Abp.AspNetCore.Auditing
@ -16,16 +17,19 @@ namespace Volo.Abp.AspNetCore.Auditing
protected AbpAuditingOptions AuditingOptions { get; } protected AbpAuditingOptions AuditingOptions { get; }
protected AbpAspNetCoreAuditingOptions AspNetCoreAuditingOptions { get; } protected AbpAspNetCoreAuditingOptions AspNetCoreAuditingOptions { get; }
protected ICurrentUser CurrentUser { get; } protected ICurrentUser CurrentUser { get; }
protected IUnitOfWorkManager UnitOfWorkManager { get; }
public AbpAuditingMiddleware( public AbpAuditingMiddleware(
IAuditingManager auditingManager, IAuditingManager auditingManager,
ICurrentUser currentUser, ICurrentUser currentUser,
IOptions<AbpAuditingOptions> auditingOptions, IOptions<AbpAuditingOptions> auditingOptions,
IOptions<AbpAspNetCoreAuditingOptions> aspNetCoreAuditingOptions) IOptions<AbpAspNetCoreAuditingOptions> aspNetCoreAuditingOptions,
IUnitOfWorkManager unitOfWorkManager)
{ {
_auditingManager = auditingManager; _auditingManager = auditingManager;
CurrentUser = currentUser; CurrentUser = currentUser;
UnitOfWorkManager = unitOfWorkManager;
AuditingOptions = auditingOptions.Value; AuditingOptions = auditingOptions.Value;
AspNetCoreAuditingOptions = aspNetCoreAuditingOptions.Value; AspNetCoreAuditingOptions = aspNetCoreAuditingOptions.Value;
} }
@ -44,7 +48,7 @@ namespace Volo.Abp.AspNetCore.Auditing
try try
{ {
await next(context); await next(context);
Debug.Assert(_auditingManager.Current != null); Debug.Assert(_auditingManager.Current != null);
if (_auditingManager.Current.Log.Exceptions.Any()) if (_auditingManager.Current.Log.Exceptions.Any())
{ {
@ -60,6 +64,11 @@ namespace Volo.Abp.AspNetCore.Auditing
{ {
if (ShouldWriteAuditLog(context, hasError)) if (ShouldWriteAuditLog(context, hasError))
{ {
if (UnitOfWorkManager.Current != null)
{
await UnitOfWorkManager.Current.SaveChangesAsync();
}
await saveHandle.SaveAsync(); await saveHandle.SaveAsync();
} }
} }

Loading…
Cancel
Save