Browse Source

Merge pull request #11689 from abpframework/auto-merge/rel-5-1/875

Merge branch dev with rel-5.1
pull/11693/head
liangshiwei 4 years ago
committed by GitHub
parent
commit
84bf31b68f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/Auditing/AbpAuditHubFilter.cs
  2. 12
      framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs
  3. 22
      framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs

12
framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/Auditing/AbpAuditHubFilter.cs

@ -55,7 +55,17 @@ public class AbpAuditHubFilter : IHubFilter
var unitOfWorkManager = invocationContext.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
if (unitOfWorkManager.Current != null)
{
await unitOfWorkManager.Current.SaveChangesAsync();
try
{
await unitOfWorkManager.Current.SaveChangesAsync();
}
catch (Exception ex)
{
if (!auditingManager.Current.Log.Exceptions.Contains(ex))
{
auditingManager.Current.Log.Exceptions.Add(ex);
}
}
}
await saveHandle.SaveAsync();

12
framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs

@ -73,7 +73,17 @@ public class AbpAuditingMiddleware : IMiddleware, ITransientDependency
{
if (UnitOfWorkManager.Current != null)
{
await UnitOfWorkManager.Current.SaveChangesAsync();
try
{
await UnitOfWorkManager.Current.SaveChangesAsync();
}
catch (Exception ex)
{
if (!_auditingManager.Current.Log.Exceptions.Contains(ex))
{
_auditingManager.Current.Log.Exceptions.Add(ex);
}
}
}
await saveHandle.SaveAsync();

22
framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AuditingInterceptor.cs

@ -7,6 +7,7 @@ using Microsoft.Extensions.Options;
using Volo.Abp.Aspects;
using Volo.Abp.DependencyInjection;
using Volo.Abp.DynamicProxy;
using Volo.Abp.Uow;
using Volo.Abp.Users;
namespace Volo.Abp.Auditing;
@ -41,7 +42,8 @@ public class AuditingInterceptor : AbpInterceptor, ITransientDependency
else
{
var currentUser = serviceScope.ServiceProvider.GetRequiredService<ICurrentUser>();
await ProcessWithNewAuditingScopeAsync(invocation, auditingOptions, currentUser, auditingManager, auditingHelper);
var unitOfWorkManager = serviceScope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
await ProcessWithNewAuditingScopeAsync(invocation, auditingOptions, currentUser, auditingManager, auditingHelper, unitOfWorkManager);
}
}
}
@ -105,7 +107,8 @@ public class AuditingInterceptor : AbpInterceptor, ITransientDependency
AbpAuditingOptions options,
ICurrentUser currentUser,
IAuditingManager auditingManager,
IAuditingHelper auditingHelper)
IAuditingHelper auditingHelper,
IUnitOfWorkManager unitOfWorkManager)
{
var hasError = false;
using (var saveHandle = auditingManager.BeginScope())
@ -129,6 +132,21 @@ public class AuditingInterceptor : AbpInterceptor, ITransientDependency
{
if (ShouldWriteAuditLog(invocation, options, currentUser, hasError))
{
if (unitOfWorkManager.Current != null)
{
try
{
await unitOfWorkManager.Current.SaveChangesAsync();
}
catch (Exception ex)
{
if (!auditingManager.Current.Log.Exceptions.Contains(ex))
{
auditingManager.Current.Log.Exceptions.Add(ex);
}
}
}
await saveHandle.SaveAsync();
}
}

Loading…
Cancel
Save