From 735818f9133e23080b416f9a0e7bb9efdd3dbde6 Mon Sep 17 00:00:00 2001 From: Anthony Corch Date: Thu, 4 Apr 2024 15:47:25 -0400 Subject: [PATCH] Fix ServiceDescriptor access for keyed services --- src/Ev.ServiceBus/ServiceCollectionExtensions.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Ev.ServiceBus/ServiceCollectionExtensions.cs b/src/Ev.ServiceBus/ServiceCollectionExtensions.cs index 47aefac..cc93a8e 100644 --- a/src/Ev.ServiceBus/ServiceCollectionExtensions.cs +++ b/src/Ev.ServiceBus/ServiceCollectionExtensions.cs @@ -79,12 +79,21 @@ private static void RegisterResourceManagementServices(IServiceCollection servic services.TryAddSingleton(); services.TryAddSingleton(); - if (services.Any(o => o.ImplementationType == typeof(ServiceBusHost)) == false) + if (!HasImplementationType(services, typeof(ServiceBusHost))) { services.AddHostedService(); } } + private static bool HasImplementationType(IServiceCollection services, Type implementationType) + { + return services.Any(s => +#if NET8_0_OR_GREATER + s.ServiceKey is null && +#endif + s.ImplementationType == implementationType); + } + /// /// The start of the registration process for message reception ///