C# 访问Microsoft.Extensions.Hosting服务时出现问题。使用AddPooledDbContextFactory
您好,我在迁移时遇到问题,它说在访问Microsoft.Extensions.Hosting服务时出错。在没有应用程序服务提供商的情况下继续。错误:无法构造某些服务(E 验证服务描述符的ServiceType:Microsoft.AspNetCore.Identity.IUserClaimsPrincipalFactoryC# 访问Microsoft.Extensions.Hosting服务时出现问题。使用AddPooledDbContextFactory,c#,entity-framework,asp.net-core,entity-framework-migrations,C#,Entity Framework,Asp.net Core,Entity Framework Migrations,您好,我在迁移时遇到问题,它说在访问Microsoft.Extensions.Hosting服务时出错。在没有应用程序服务提供商的情况下继续。错误:无法构造某些服务(E 验证服务描述符的ServiceType:Microsoft.AspNetCore.Identity.IUserClaimsPrincipalFactory1[GraphQlApiFullStack.Models.AppUser]生存期:作用域实现类型:Microsoft.AspNetCore.Identity.UserClaim
1[GraphQlApiFullStack.Models.AppUser]生存期:作用域实现类型:Microsoft.AspNetCore.Identity.UserClaimsPrincipalFactory
1[GraphQlApiFullStack.Models.AppUser]“:无法解析类型为”GraphQlApiFullStack.Data.applicationdbcontent“的服务
xt“试图激活”Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore时
谁能帮帮我吗?谢谢
ApplicationDbContext.cs
using GraphQlApiFullStack.Models;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
namespace GraphQlApiFullStack.Data
{
public class ApplicationDbContext : IdentityDbContext<AppUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public DbSet<AppUser> AppUsers { get; set; }
public DbSet<Employee> Employees { get; set; }
public DbSet<Department> Departments { get; set; }
}
}
使用GraphQlApiFullStack.Models;
使用Microsoft.AspNetCore.Identity.EntityFrameworkCore;
使用Microsoft.EntityFrameworkCore;
命名空间GraphQlApiFullStack.Data
{
公共类ApplicationDbContext:IdentityDbContext
{
公共应用程序DBContext(DbContextOptions选项):基本(选项)
{
}
公共DbSet AppUsers{get;set;}
公共数据库集雇员{get;set;}
公共数据库集部门{get;set;}
}
}
Startup.cs服务
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "GraphQlApiFullStack", Version = "v1" });
});
// We use a pooled Db Context Factory here to avoid issues with graphql concurrency
services.AddPooledDbContextFactory<ApplicationDbContext>(builder =>
{
builder.UseSqlServer(_configuration.GetConnectionString("defaultConnection"));
});
services.AddIdentityServices(_configuration);
}
```
public void配置服务(IServiceCollection服务)
{
services.AddControllers();
services.AddSwaggerGen(c=>
{
c、 SwaggerDoc(“v1”,新的openapinfo{Title=“GraphQlApiFullStack”,Version=“v1”});
});
//我们在这里使用池Db上下文工厂来避免graphql并发性问题
services.AddPooledDbContextFactory(生成器=>
{
builder.UseSqlServer(_configuration.GetConnectionString(“defaultConnection”));
});
服务。附加服务(_配置);
}
```
好的,我发现问题来自我的identityservices扩展方法