为什么从 ASP.NET Core 中删除了 IDependencyResolver,我应该改用什么?

Man*_*jSS 5 c# dependency-injection simple-injector dependency-resolver asp.net-core-2.0

我正在使用简单的注入器,但IDependencyResolver在 .net core 2 中找不到,使用IServiceProvider而不是使用是正确的选择IDependencyResolver,因为没有“ IDependencyScope BeginScope()IserviceProvider,我有点困惑是否使用IServiceProvider。我读了 .net core 2.0有更好的内置 DI 支持,但不确定如何利用它。

public class SimpleInjectorWebApiDependencyResolver : IDependencyResolver
{
    private readonly Container container;
    public SimpleInjectorWebApiDependencyResolver(Container container)
    {
        this.container = container;
    }

   [DebuggerStepThrough]
    public IDependencyScope BeginScope()                   //  what should i use instead of IdependencyScope in .Net Core
    {
        return this;
    }

   [DebuggerStepThrough]
    public object GetService(Type serviceType)
    {
        return ((IServiceProvider)this.container).GetService(serviceType);
    }

   [DebuggerStepThrough]
    public IEnumerable<object> GetServices(Type serviceType)
    {
        //return this.container.GetAllInstances(serviceType);
        IServiceProvider provider = this.container;
        Type collectionType = typeof(IEnumerable<>).MakeGenericType(serviceType);
        var services = (IEnumerable<object>)provider.GetService(collectionType);
        return services ?? Enumerable.Empty<object>();
    }

   [DebuggerStepThrough]
    public void Dispose()
    {
    }
Run Code Online (Sandbox Code Playgroud)

}

请解释一下IDependencyResolver,如果没有,如果你解释内置 .net core 2.0 是如何工作的,我会更高兴。谢谢!