From 4fe274564eb34d376dd946203e7cc8263a24f973 Mon Sep 17 00:00:00 2001 From: maliming Date: Sun, 2 Nov 2025 17:12:03 +0800 Subject: [PATCH] Change TelemetryActivityEventBuilder to transient dependency Resolve #23755 NET doesn't allow consuming a scoped service from a singleton service. --- .../src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs | 3 +-- .../Providers/TelemetryActivityEventBuilder.cs | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs b/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs index 6811e2a9a1..8965b865d1 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs @@ -185,8 +185,7 @@ public abstract class AbpApplicationBase : IAbpApplication { try { - using var scope = ServiceProvider.CreateScope(); - var logger = scope.ServiceProvider.GetRequiredService>(); + var logger = Services.GetInitLogger(); logger.LogException(ex, LogLevel.Trace); } catch diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Providers/TelemetryActivityEventBuilder.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Providers/TelemetryActivityEventBuilder.cs index 201ac8c3b6..09c0c28430 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Providers/TelemetryActivityEventBuilder.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/Providers/TelemetryActivityEventBuilder.cs @@ -8,7 +8,7 @@ using Volo.Abp.Internal.Telemetry.Constants; namespace Volo.Abp.Internal.Telemetry.Activity.Providers; -public class TelemetryActivityEventBuilder : ITelemetryActivityEventBuilder, ISingletonDependency +public class TelemetryActivityEventBuilder : ITelemetryActivityEventBuilder, ITransientDependency { private readonly List _activityEnrichers; @@ -31,7 +31,7 @@ public class TelemetryActivityEventBuilder : ITelemetryActivityEventBuilder, ISi { //ignored } - + if (context.IsTerminated) { return null; @@ -40,10 +40,10 @@ public class TelemetryActivityEventBuilder : ITelemetryActivityEventBuilder, ISi return context.Current; } - + private static bool FilterEnricher(ITelemetryActivityEventEnricher enricher) { - return ProxyHelper.GetUnProxiedType(enricher).Assembly.FullName!.StartsWith(TelemetryConsts.VoloNameSpaceFilter) && + return ProxyHelper.GetUnProxiedType(enricher).Assembly.FullName!.StartsWith(TelemetryConsts.VoloNameSpaceFilter) && enricher is not IHasParentTelemetryActivityEventEnricher; } -} \ No newline at end of file +}