public ContainerMiddleware( RequestDelegate next, IServiceProvider rootServiceProvider, IContextAccessor <HttpContext> rootHttpContextAccessor, IServiceScopeFactory rootServiceScopeFactory) { if (rootServiceProvider == null) { throw new ArgumentNullException("rootServiceProvider"); } if (rootHttpContextAccessor == null) { throw new ArgumentNullException("rootHttpContextAccessor"); } if (rootServiceScopeFactory == null) { throw new ArgumentNullException("rootServiceScopeFactory"); } _next = next; _rootServiceProvider = rootServiceProvider; _rootServiceScopeFactory = rootServiceScopeFactory; _rootHttpContextAccessor = rootHttpContextAccessor; _rootHttpContextAccessor.SetContextSource(AccessRootHttpContext, ExchangeRootHttpContext); }