diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
index ee687dbb..342de04c 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
@@ -6,6 +6,7 @@
+
diff --git a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs
index 706e7ee2..a5dff1ac 100644
--- a/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs
+++ b/apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs
@@ -20,6 +20,7 @@ using StackExchange.Redis;
using System;
using System.Net.Http.Headers;
using Microsoft.AspNetCore.HttpOverrides;
+using Polly;
using Volo.Abp;
using Volo.Abp.Account;
using Volo.Abp.AspNetCore.Authentication.OpenIdConnect;
@@ -74,6 +75,19 @@ public class EShopOnAbpPublicWebModule : AbpModule
typeof(EShopOnAbpPublicWebModule).Assembly
);
});
+
+ PreConfigure(options =>
+ {
+ options.ProxyClientBuildActions.Add((remoteServiceName, clientBuilder) =>
+ {
+ clientBuilder.AddTransientHttpErrorPolicy(policyBuilder =>
+ policyBuilder.WaitAndRetryAsync(
+ 3,
+ i => TimeSpan.FromSeconds(Math.Pow(2, i))
+ )
+ );
+ });
+ });
}
public override void ConfigureServices(ServiceConfigurationContext context)