From edc07794412d0e98b3ef19e337f69633582e4b73 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Tue, 17 Jan 2023 21:42:53 +0100 Subject: [PATCH] fix(core): do not add packet responder multiple times --- .../Extensions/ServiceCollectionExtensions.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Core/NosSmooth.Core/Extensions/ServiceCollectionExtensions.cs b/Core/NosSmooth.Core/Extensions/ServiceCollectionExtensions.cs index ac8c6fa..273cf8c 100644 --- a/Core/NosSmooth.Core/Extensions/ServiceCollectionExtensions.cs +++ b/Core/NosSmooth.Core/Extensions/ServiceCollectionExtensions.cs @@ -91,9 +91,14 @@ public static class ServiceCollectionExtensions Type responderType ) { + if (serviceCollection.Any(x => x.ImplementationType == responderType)) + { // already added... assuming every packet responder was added even though that may not be the case. + return serviceCollection; + } + if (responderType.GetInterfaces().Any(i => i == typeof(IEveryPacketResponder))) { - return serviceCollection.AddScoped(typeof(IEveryPacketResponder), responderType); + serviceCollection.AddScoped(typeof(IEveryPacketResponder), responderType); } if (!responderType.GetInterfaces().Any -- 2.49.0