Dependency injection Blazor服务器应用程序上下文工厂

Dependency injection Blazor服务器应用程序上下文工厂,dependency-injection,dbcontext,blazor-server-side,Dependency Injection,Dbcontext,Blazor Server Side,我正在尝试实现一个上下文工厂(由于组件使用寿命长,Microsoft建议Blazor服务器使用该工厂)。在我的创业中: services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddDbContextFactory<Appli

我正在尝试实现一个上下文工厂(由于组件使用寿命长,Microsoft建议Blazor服务器使用该工厂)。在我的创业中:

services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddDbContextFactory<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
using (var scope = _serviceScopeFactory.CreateScope())
{
     var _factory = scope.ServiceProvider.GetService<IDbContextFactory<ApplicationDbContext>>();
     using (var _context = _factory.CreateDbContext())
     {
          schedules = (await _context.Schedules.AsNoTracking().Where(s => !s.Deleted).ToListAsync());

          return schedules;
      }
}
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution(Type serviceType, IServiceScope scope, IServiceScope rootScope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceLookup.IServiceProviderEngineCallback.OnResolve(Type serviceType, IServiceScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance[T](IServiceProvider provider, Object[] parameters)
   at .....Data.DatabaseContext.DbContextFactory`1.CreateDbContext() in .....cs:line 27
   at ....Services.Scheduler.ScheduleService.GetSchedulesAsync() in ....cs:line 65