所以我们需要写个获取实例的方法:
public static class ServiceLocator
{
public static IServiceProvider ServiceProvider { get; private set; }
public static void SetService(IServiceProvider service)
{
ServiceProvider = service;
}
}
然后需要在startup注入IServiceProvider 对象:
ServiceLocator.SetService(service: services.BuildServiceProvider());
// 依赖注入 var provider = ServiceLocator.ServiceProvider; var mongo = provider.GetService<IMongoService>(); // 获取实例