Fix AbpLazyServiceProvider.LazyGetRequiredService

It should not return null, but throw exception if a service was not found.
pull/14879/head
Halil İbrahim Kalkan 3 years ago
parent 0d891aca7a
commit 70b69590a1

@ -17,7 +17,7 @@ public class AbpLazyServiceProvider : CachedServiceProviderBase, IAbpLazyService
public virtual object LazyGetRequiredService(Type serviceType)
{
return GetService(serviceType);
return GetRequiredService(serviceType);
}
public virtual T LazyGetService<T>()

@ -1,5 +1,6 @@
using System;
using System.Collections.Concurrent;
using Microsoft.Extensions.DependencyInjection;
namespace Volo.Abp.DependencyInjection;
@ -22,4 +23,12 @@ public abstract class CachedServiceProviderBase
_ => new Lazy<object>(() => ServiceProvider.GetService(serviceType))
).Value;
}
public virtual object GetRequiredService(Type serviceType)
{
return CachedServices.GetOrAdd(
serviceType,
_ => new Lazy<object>(() => ServiceProvider.GetRequiredService(serviceType))
).Value;
}
}

Loading…
Cancel
Save