Skip to content

Commit 100a100

Browse files
committed
fix: 修复跟踪标识中间件无法正确注入
1 parent 8096f49 commit 100a100

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

framework/src/Bing.AspNetCore/Bing/AspNetCore/Tracing/AspNetCoreCorrelationIdProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Bing.AspNetCore.Tracing
1212
/// AspNetCore 跟踪关联ID提供程序
1313
/// </summary>
1414
[Dependency(ServiceLifetime.Transient, ReplaceExisting = true)]
15-
public class AspNetCoreCorrelationIdProvider : ICorrelationIdProvider, ITransientDependency
15+
public class AspNetCoreCorrelationIdProvider : ICorrelationIdProvider
1616
{
1717
/// <summary>
1818
/// Http上下文访问器

framework/src/Bing.AspNetCore/Bing/AspNetCore/Tracing/BingCorrelationIdMiddleware.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ public async Task InvokeAsync(HttpContext context)
4848
TraceIdContext.Current ??= new TraceIdContext(correlationId);
4949
try
5050
{
51+
// TODO: 由于可能存在某个中间件设置了Response导致当前中间件无法设置
52+
CheckAndSetCorrelationIdOnResponse(context, _options, correlationId);
5153
await _next(context);
5254
}
5355
finally

framework/src/Bing/Bing/Tracing/DefaultCorrelationIdProvider.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
using System;
22
using Bing.DependencyInjection;
3+
using Microsoft.Extensions.DependencyInjection;
34

45
namespace Bing.Tracing
56
{
67
/// <summary>
78
/// 默认跟踪标识提供程序
89
/// </summary>
9-
internal class DefaultCorrelationIdProvider : ICorrelationIdProvider, ISingletonDependency
10+
[Dependency(ServiceLifetime.Singleton, TryAdd = true)]
11+
public class DefaultCorrelationIdProvider : ICorrelationIdProvider
1012
{
1113
/// <summary>
1214
/// 跟踪标识提供程序

0 commit comments

Comments
 (0)