csharp-abp-study/Skcks.Study.AbpProject/test/Skcks.Study.AbpProject.HttpApi.Client.ConsoleTestApp/AbpProjectConsoleApiClientModule.cs
2024-11-22 22:33:59 +08:00

31 lines
951 B
C#

using System;
using Microsoft.Extensions.DependencyInjection;
using Polly;
using Volo.Abp.Autofac;
using Volo.Abp.Http.Client;
using Volo.Abp.Http.Client.IdentityModel;
using Volo.Abp.Modularity;
namespace Skcks.Study.AbpProject.HttpApi.Client.ConsoleTestApp;
[DependsOn(
typeof(AbpAutofacModule),
typeof(AbpProjectHttpApiClientModule),
typeof(AbpHttpClientIdentityModelModule)
)]
public class AbpProjectConsoleApiClientModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpHttpClientBuilderOptions>(options =>
{
options.ProxyClientBuildActions.Add((remoteServiceName, clientBuilder) =>
{
clientBuilder.AddTransientHttpErrorPolicy(
policyBuilder => policyBuilder.WaitAndRetryAsync(3, i => TimeSpan.FromSeconds(Math.Pow(2, i)))
);
});
});
}
}