From 92c2d173eb64c9b373f97d384aa322d47bf3420b Mon Sep 17 00:00:00 2001 From: runebaas Date: Sun, 12 May 2019 16:15:42 +0200 Subject: [PATCH] make HighscoreManager transient to solve a bug where the information reported would be wrong --- Geekbot.net/Program.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Geekbot.net/Program.cs b/Geekbot.net/Program.cs index 27274d2..d04dcbb 100755 --- a/Geekbot.net/Program.cs +++ b/Geekbot.net/Program.cs @@ -40,7 +40,6 @@ namespace Geekbot.net private IUserRepository _userRepository; private RunParameters _runParameters; private IAlmostRedis _redis; - private IHighscoreManager _highscoreManager; private static void Main(string[] args) { @@ -124,7 +123,6 @@ namespace Geekbot.net var mtgManaConverter = new MtgManaConverter(); var wikipediaClient = new WikipediaClient(); var randomNumberGenerator = new RandomNumberGenerator(); - _highscoreManager = new HighscoreManager(_databaseInitializer.Initialize(), _userRepository); _services.AddSingleton(_redis); _services.AddSingleton(_userRepository); @@ -137,8 +135,8 @@ namespace Geekbot.net _services.AddSingleton(mtgManaConverter); _services.AddSingleton(wikipediaClient); _services.AddSingleton(randomNumberGenerator); - _services.AddSingleton(_highscoreManager); _services.AddSingleton(_globalSettings); + _services.AddTransient((e) => new HighscoreManager(_databaseInitializer.Initialize(), _userRepository)); _services.AddTransient((e) => _databaseInitializer.Initialize()); logger.Information(LogSource.Geekbot, "Connecting to Discord"); @@ -206,7 +204,8 @@ namespace Geekbot.net private Task StartWebApi() { _logger.Information(LogSource.Api, "Starting Webserver"); - WebApi.WebApiStartup.StartWebApi(_logger, _runParameters, _commands, _databaseInitializer.Initialize(), _client, _globalSettings, _highscoreManager); + var highscoreManager = new HighscoreManager(_databaseInitializer.Initialize(), _userRepository); + WebApi.WebApiStartup.StartWebApi(_logger, _runParameters, _commands, _databaseInitializer.Initialize(), _client, _globalSettings, highscoreManager); return Task.CompletedTask; } }