diff --git a/Directory.Packages.props b/Directory.Packages.props
index 22afa43..f70aad7 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -3,20 +3,20 @@
true
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MobileConfiguration/Dockerfile b/MobileConfiguration/Dockerfile
index e29d2ad..226cb29 100644
--- a/MobileConfiguration/Dockerfile
+++ b/MobileConfiguration/Dockerfile
@@ -3,7 +3,7 @@ WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
-COPY ["MobileConfiguration/NuGet.Config", "MobileConfiguration/"]
+COPY ["NuGet.Config", "MobileConfiguration/"]
COPY ["MobileConfiguration/MobileConfiguration.csproj", "MobileConfiguration/"]
COPY ["Directory.Packages.props", "."]
COPY . .
diff --git a/MobileConfiguration/Program.cs b/MobileConfiguration/Program.cs
index 15c0279..30e855d 100644
--- a/MobileConfiguration/Program.cs
+++ b/MobileConfiguration/Program.cs
@@ -97,8 +97,30 @@
builder.Services.AddDbContext(builder => builder.UseInMemoryDatabase("ConfigurationDatabaseTest"));
}
else {
- builder.Services.AddDbContext(options =>
- options.UseSqlServer(configuration.GetConnectionString("ConfigurationDatabase")));
+ SqlServerRetryOptions retryOptions;
+ try
+ {
+ retryOptions = ConfigurationReader.GetSection("AppSettings:SqlServerRetry");
+ }
+ catch (KeyNotFoundException)
+ {
+ retryOptions = null;
+ }
+
+ if (retryOptions != null)
+ {
+ builder.Services.AddDbContext(options => options.UseSharedSqlServer(ConfigurationReader.GetConnectionString("ConfigurationDatabase"), retry => {
+ retry.AdditionalTransientErrorNumbers = retryOptions.AdditionalTransientErrorNumbers;
+ retry.MaxRetryCount = retryOptions.MaxRetryCount;
+ retry.MaxRetryDelay = retryOptions.MaxRetryDelay;
+ }));
+ }
+ else
+ {
+ builder.Services.AddDbContext(options => options.UseSqlServer(ConfigurationReader.GetConnectionString("ConfigurationDatabase"), retry => {
+ retry.EnableRetryOnFailure();
+ }));
+ }
}
bool logRequests = ConfigurationReader.GetValueOrDefault("MiddlewareLogging", "LogRequests", true);
bool logResponses = ConfigurationReader.GetValueOrDefault("MiddlewareLogging", "LogResponses", true);
diff --git a/MobileConfiguration/NuGet.Config b/NuGet.Config
similarity index 100%
rename from MobileConfiguration/NuGet.Config
rename to NuGet.Config