diff --git a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj
index 22fe75e1..30dc0222 100644
--- a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj
+++ b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj
index 58f6da8b..17817410 100644
--- a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj
+++ b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj
@@ -6,15 +6,15 @@
-
+
-
+
-
-
+
+
diff --git a/TransactionProcessor.Client/TransactionProcessor.Client.csproj b/TransactionProcessor.Client/TransactionProcessor.Client.csproj
index e29fa048..b997bb4a 100644
--- a/TransactionProcessor.Client/TransactionProcessor.Client.csproj
+++ b/TransactionProcessor.Client/TransactionProcessor.Client.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj b/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj
index 9ec9b182..686090b6 100644
--- a/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj
+++ b/TransactionProcessor.DataTransferObjects/TransactionProcessor.DataTransferObjects.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/TransactionProcessor.Database/TransactionProcessor.Database.csproj b/TransactionProcessor.Database/TransactionProcessor.Database.csproj
index 8176a300..916a4238 100644
--- a/TransactionProcessor.Database/TransactionProcessor.Database.csproj
+++ b/TransactionProcessor.Database/TransactionProcessor.Database.csproj
@@ -17,10 +17,10 @@
-
-
+
+
-
+
diff --git a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj
index 7b98eba4..a23afb37 100644
--- a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj
+++ b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj
@@ -6,6 +6,6 @@
enable
-
+
diff --git a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj
index f3d38a1d..39e0345c 100644
--- a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj
+++ b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj
@@ -7,10 +7,10 @@
-
-
+
+
-
+
diff --git a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj
index e96c0049..d163955b 100644
--- a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj
+++ b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj
@@ -7,16 +7,16 @@
-
+
-
+
-
+
diff --git a/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj b/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj
index 317535ae..8900cd8f 100644
--- a/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj
+++ b/TransactionProcessor.ProjectionEngine.Tests/TransactionProcessor.ProjectionEngine.Tests.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj
index c96c41dc..78bf8e2c 100644
--- a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj
+++ b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj
@@ -9,11 +9,11 @@
-
+
-
-
+
+
diff --git a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj
index de771d24..7f888841 100644
--- a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj
+++ b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj
@@ -13,9 +13,9 @@
-
-
-
+
+
+
diff --git a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj
index 21b5da46..abdc75a8 100644
--- a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj
+++ b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj
index 8aa9953d..e048fd44 100644
--- a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj
+++ b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj
@@ -7,10 +7,10 @@
-
+
-
+
diff --git a/TransactionProcessor/Bootstrapper/ClientRegistry.cs b/TransactionProcessor/Bootstrapper/ClientRegistry.cs
index 6eb9cf25..160116c6 100644
--- a/TransactionProcessor/Bootstrapper/ClientRegistry.cs
+++ b/TransactionProcessor/Bootstrapper/ClientRegistry.cs
@@ -1,13 +1,14 @@
namespace TransactionProcessor.Bootstrapper
{
- using System;
- using System.Diagnostics.CodeAnalysis;
- using System.Net.Http;
+ using ClientProxyBase;
using Lamar;
using MessagingService.Client;
using Microsoft.Extensions.DependencyInjection;
using SecurityService.Client;
using Shared.General;
+ using System;
+ using System.Diagnostics.CodeAnalysis;
+ using System.Net.Http;
///
///
@@ -23,26 +24,12 @@ public class ClientRegistry : ServiceRegistry
///
public ClientRegistry()
{
- this.AddSingleton();
- this.AddSingleton();
-
- Func resolver(IServiceProvider container) => serviceName => { return ConfigurationReader.GetBaseServerUri(serviceName).OriginalString; };
- Func resolver1() => serviceName => { return ConfigurationReader.GetBaseServerUri(serviceName).OriginalString; };
+ this.AddHttpContextAccessor();
+ this.RegisterHttpClient();
+ this.RegisterHttpClient();
+ Func resolver(IServiceProvider container) => serviceName => ConfigurationReader.GetBaseServerUri(serviceName).OriginalString;
this.AddSingleton>(resolver);
-
- var httpMessageHandler = new SocketsHttpHandler
- {
- SslOptions =
- {
- RemoteCertificateValidationCallback = (sender,
- certificate,
- chain,
- errors) => true,
- }
- };
- HttpClient httpClient = new HttpClient(httpMessageHandler);
- this.AddSingleton(httpClient);
}
#endregion
diff --git a/TransactionProcessor/Program.cs b/TransactionProcessor/Program.cs
index fa2a363a..fd3851f9 100644
--- a/TransactionProcessor/Program.cs
+++ b/TransactionProcessor/Program.cs
@@ -1,13 +1,19 @@
+using System;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using NLog.Extensions.Logging;
+using Shared.Logger;
+using Shared.Middleware;
namespace TransactionProcessor
{
- using System.Diagnostics.CodeAnalysis;
- using System.IO;
using Lamar.Microsoft.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
+ using NLog;
+ using System.Diagnostics.CodeAnalysis;
+ using System.IO;
[ExcludeFromCodeCoverage]
public class Program
@@ -27,6 +33,20 @@ public static IHostBuilder CreateHostBuilder(string[] args)
.AddJsonFile("hosting.development.json", optional: true)
.AddEnvironmentVariables().Build();
+ String contentRoot = Directory.GetCurrentDirectory();
+ String nlogConfigPath = Path.Combine(contentRoot, "nlog.config");
+
+ LogManager.Setup(b =>
+ {
+ b.SetupLogFactory(setup =>
+ {
+ setup.AddCallSiteHiddenAssembly(typeof(NlogLogger).Assembly);
+ setup.AddCallSiteHiddenAssembly(typeof(Shared.Logger.Logger).Assembly);
+ setup.AddCallSiteHiddenAssembly(typeof(TenantMiddleware).Assembly);
+ });
+ b.LoadConfigurationFromFile(nlogConfigPath);
+ });
+
IHostBuilder hostBuilder = Host.CreateDefaultBuilder(args);
hostBuilder.UseWindowsService();
hostBuilder.UseLamar();
@@ -36,7 +56,11 @@ public static IHostBuilder CreateHostBuilder(string[] args)
webBuilder.UseConfiguration(config);
webBuilder.UseKestrel();
});
+ hostBuilder.ConfigureLogging(logging => {
+ logging.AddConsole();
+ logging.AddNLog();
+ });
hostBuilder.ConfigureServices(services =>
{
services.AddHostedService(provider =>
diff --git a/TransactionProcessor/Startup.cs b/TransactionProcessor/Startup.cs
index 47f738ab..b739e92c 100644
--- a/TransactionProcessor/Startup.cs
+++ b/TransactionProcessor/Startup.cs
@@ -1,15 +1,10 @@
+using Prometheus;
using System.Linq;
using System.Threading;
-using Prometheus;
using TransactionProcessor.BusinessLogic.Services;
namespace TransactionProcessor
{
- using System;
- using System.Collections.Generic;
- using System.Diagnostics.CodeAnalysis;
- using System.IO;
- using System.Reflection;
using Bootstrapper;
using HealthChecks.UI.Client;
using Lamar;
@@ -25,6 +20,12 @@ namespace TransactionProcessor
using Shared.EventStore.Aggregate;
using Shared.Extensions;
using Shared.General;
+ using Shared.Middleware;
+ using System;
+ using System.Collections.Generic;
+ using System.Diagnostics.CodeAnalysis;
+ using System.IO;
+ using System.Reflection;
using ILogger = Microsoft.Extensions.Logging.ILogger;
using Logger = Shared.Logger.Logger;
@@ -99,27 +100,11 @@ public void Configure(IApplicationBuilder app,
IWebHostEnvironment env,
ILoggerFactory loggerFactory) {
ConfigurationReader.Initialise(Startup.Configuration);
-
- String nlogConfigFilename = "nlog.config";
-
+
if (env.IsDevelopment()) {
app.UseDeveloperExceptionPage();
- string directoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
- LogManager.AddHiddenAssembly(Assembly.LoadFrom(Path.Combine(directoryPath, "Shared.dll")));
-
- var developmentNlogConfigFilename = "nlog.development.config";
- if (File.Exists(Path.Combine(env.ContentRootPath, developmentNlogConfigFilename)))
- {
- nlogConfigFilename = developmentNlogConfigFilename;
- }
- }
- else{
- LogManager.AddHiddenAssembly(Assembly.LoadFrom(Path.Combine(env.ContentRootPath, "Shared.dll")));
}
- loggerFactory.ConfigureNLog(Path.Combine(env.ContentRootPath, nlogConfigFilename));
- loggerFactory.AddNLog();
-
ILogger logger = loggerFactory.CreateLogger("TransactionProcessor");
Logger.Initialise(logger);
@@ -129,7 +114,7 @@ public void Configure(IApplicationBuilder app,
foreach (KeyValuePair type in TypeMap.Map) {
Logger.LogInformation($"Type name {type.Value} mapped to {type.Key.Name}");
}
-
+ app.UseMiddleware();
app.AddRequestLogging();
app.AddResponseLogging();
app.AddExceptionHandler();
diff --git a/TransactionProcessor/TransactionProcessor.csproj b/TransactionProcessor/TransactionProcessor.csproj
index 270321a6..07b0f024 100644
--- a/TransactionProcessor/TransactionProcessor.csproj
+++ b/TransactionProcessor/TransactionProcessor.csproj
@@ -10,7 +10,7 @@
-
+
@@ -25,7 +25,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
@@ -34,10 +34,10 @@
-
-
+
+
-
+
diff --git a/TransactionProcessor/nlog.config b/TransactionProcessor/nlog.config
index df512318..1ec67c78 100644
--- a/TransactionProcessor/nlog.config
+++ b/TransactionProcessor/nlog.config
@@ -5,7 +5,7 @@