]> git.deb.at Git - rhonda/impostor.git/commitdiff
Remove scoping for event listeners
authorAeonLucid <aeonlucid@outlook.com>
Sat, 24 Oct 2020 21:10:07 +0000 (23:10 +0200)
committerAeonLucid <aeonlucid@outlook.com>
Sat, 24 Oct 2020 21:10:07 +0000 (23:10 +0200)
src/Impostor.Server/Events/EventManager.cs

index 6d0a47fe123ffdd67a3af0b5d3c6351698602338..6147e2fc7382b810fa52eae102dcd9d0ca0ac6c4 100644 (file)
@@ -59,8 +59,6 @@ namespace Impostor.Server.Events
         public bool IsRegistered<TEvent>()
             where TEvent : IEvent
         {
-            using var scope = _serviceProvider.CreateScope();
-
             return GetHandlers<TEvent>(_serviceProvider).Any();
         }
 
@@ -68,24 +66,18 @@ namespace Impostor.Server.Events
         public async ValueTask CallAsync<T>(T @event)
             where T : IEvent
         {
-            var scope = _serviceProvider.CreateScope();
-
             try
             {
-                foreach (var (handler, eventListener) in GetHandlers<T>(scope.ServiceProvider)
+                foreach (var (handler, eventListener) in GetHandlers<T>(_serviceProvider)
                     .OrderByDescending(e => e.Listener.Priority))
                 {
-                    await eventListener.InvokeAsync(handler, @event, scope.ServiceProvider);
+                    await eventListener.InvokeAsync(handler, @event, _serviceProvider);
                 }
             }
             catch (Exception e)
             {
                 _logger.LogError(e, "Invocation of event {0} threw an exception.", @event.GetType().Name);
             }
-            finally
-            {
-                scope.Dispose();
-            }
         }
 
         /// <summary>