Skip to content

Commit ed8e1db

Browse files
committed
fix: add _theFirstCalled parameter test
1 parent 9b1b53c commit ed8e1db

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

src/ServerApi/ServiceShared/Adnc.Shared.Application/Registrar/AbstractApplicationDependencyRegistrar.RpcClient.cs

+22-12
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ namespace Adnc.Shared.Application.Registrar;
1212

1313
public abstract partial class AbstractApplicationDependencyRegistrar
1414
{
15+
private static bool _theFirstCalled = true;
16+
1517
/// <summary>
1618
/// 注册Rest服务(跨微服务之间的同步通讯)
1719
/// </summary>
@@ -25,12 +27,16 @@ protected virtual void AddRestClient<TRestClient>(string serviceName, List<IAsyn
2527
if (addressNode is null)
2628
throw new NullReferenceException(nameof(addressNode));
2729

28-
Services.TryAddScoped<CacheDelegatingHandler>();
29-
Services.TryAddScoped<TokenDelegatingHandler>();
30-
Services.TryAddScoped<ConsulDiscoverDelegatingHandler>();
31-
Services.TryAddSingleton<TokenFactory>();
32-
Services.TryAddSingleton<ITokenGenerator, BasicTokenGenerator>();
33-
Services.TryAddSingleton<ITokenGenerator, BearerTokenGenerator>();
30+
if(_theFirstCalled)
31+
{
32+
_theFirstCalled = false;
33+
Services.AddScoped<CacheDelegatingHandler>();
34+
Services.AddScoped<TokenDelegatingHandler>();
35+
Services.AddScoped<ConsulDiscoverDelegatingHandler>();
36+
Services.AddSingleton<TokenFactory>();
37+
Services.AddSingleton<ITokenGenerator, BasicTokenGenerator>();
38+
Services.AddSingleton<ITokenGenerator, BearerTokenGenerator>();
39+
}
3440

3541
var registeredType = Configuration.GetValue(NodeConsts.RegisteredType, "direct");
3642
//注册RefitClient,设置httpclient生命周期时间,默认也是2分钟。
@@ -79,12 +85,16 @@ protected virtual void AddGrpcClient<TGrpcClient>(string serviceName, List<IAsyn
7985
if (addressNode is null)
8086
throw new NullReferenceException(nameof(addressNode));
8187

82-
Services.TryAddScoped<CacheDelegatingHandler>();
83-
Services.TryAddScoped<TokenDelegatingHandler>();
84-
Services.TryAddScoped<ConsulDiscoverDelegatingHandler>();
85-
Services.TryAddScoped<TokenFactory>();
86-
Services.TryAddScoped<ITokenGenerator, BasicTokenGenerator>();
87-
Services.TryAddScoped<ITokenGenerator, BearerTokenGenerator>();
88+
if(_theFirstCalled)
89+
{
90+
_theFirstCalled = false;
91+
Services.AddScoped<CacheDelegatingHandler>();
92+
Services.AddScoped<TokenDelegatingHandler>();
93+
Services.AddScoped<ConsulDiscoverDelegatingHandler>();
94+
Services.AddSingleton<TokenFactory>();
95+
Services.AddSingleton<ITokenGenerator, BasicTokenGenerator>();
96+
Services.AddSingleton<ITokenGenerator, BearerTokenGenerator>();
97+
}
8898

8999
var registeredType = Configuration.GetValue(NodeConsts.RegisteredType, "direct");
90100
var switchName = "System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport";

0 commit comments

Comments
 (0)