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 ///