6

私は単純なインジェクターを使用していますが、.net core 2 で見つけることができませんIDependencyResolverでした。組み込みの DI サポートが優れていますが、それをどのように利用するかはわかりません。IServiceProviderIDependencyResolverIDependencyScope BeginScope()IserviceProviderIServiceProvider

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()
    {
    }

}

IDependencyResolver組み込みの.netコア2.0がどのように機能するかを説明していただければ、さらに喜んで説明してください。ありがとう!

4

0 に答える 0