diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs index a8b0f71dea..a73ba0e77d 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/ExceptionHandling/UserExceptionInformer.cs @@ -8,6 +8,7 @@ using Volo.Abp.AspNetCore.Components.Messages; using Volo.Abp.AspNetCore.ExceptionHandling; using Volo.Abp.DependencyInjection; using Volo.Abp.Http; +using Volo.Abp.Http.Client; namespace Volo.Abp.AspNetCore.Components.Web.ExceptionHandling; @@ -35,6 +36,8 @@ public class UserExceptionInformer : IUserExceptionInformer, IScopedDependency { //TODO: Create sync versions of the MessageService APIs. + LogException(context); + var errorInfo = GetErrorInfo(context); if (errorInfo.Details.IsNullOrEmpty()) @@ -49,6 +52,8 @@ public class UserExceptionInformer : IUserExceptionInformer, IScopedDependency public async Task InformAsync(UserExceptionInformerContext context) { + LogException(context); + var errorInfo = GetErrorInfo(context); if (errorInfo.Details.IsNullOrEmpty()) @@ -70,4 +75,14 @@ public class UserExceptionInformer : IUserExceptionInformer, IScopedDependency options.SendExceptionDataToClientTypes = Options.SendExceptionDataToClientTypes; }); } + + protected virtual void LogException(UserExceptionInformerContext context) + { + if (context.Exception is AbpRemoteCallException && OperatingSystem.IsBrowser()) + { + return; + } + + Logger.LogException(context.Exception); + } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs index 6f2df20de8..6b2fe0d98f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs @@ -172,8 +172,7 @@ public abstract class AbpComponentBase : OwningComponentBase { return; } - - Logger.LogException(exception); + await InvokeAsync(async () => { await UserExceptionInformer.InformAsync(new UserExceptionInformerContext(exception));