Files
SecMPS/api_sqlsugar/VolPro.Core/Extensions/ServiceProviderManagerExtension.cs
2026-05-15 23:22:48 +08:00

32 lines
960 B
C#

using VolPro.Core.Extensions;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
using VolPro.Core.Utilities;
namespace VolPro.Core.Extensions
{
public static class ServiceProviderManagerExtension
{
private static IServiceProvider _serviceProvider;
public static void UseCache(this IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
public static object GetService(this Type serviceType, bool scope = false)
{
if (HttpContext.Current == null || scope)
{
using (IServiceScope serviceScope = _serviceProvider.CreateScope())
{
return serviceScope.ServiceProvider.GetService(serviceType);
}
}
return HttpContext.Current.RequestServices.GetRequiredService(serviceType);
}
}
}