Какие регистрации зависимостей я должен изменить в ASP.NET Core 2.1, если я изменю первичный ключ Identity? - PullRequest
0 голосов
/ 02 июня 2018

Я изменил первичный ключ в соответствии с этим Настроить первичный ключ удостоверения

, и произойдет это исключение:

ComponentNotRegisteredException: Запрошенная служба 'Microsoft.AspNetCore.Identity.UserManager`1 [[Microsoft.AspNetCore.Identity.IdentityUser, Microsoft.Extensions.Identity.Stores, версия = 2.1.0.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60]] 'не была зарегистрирована.Чтобы избежать этого исключения, либо зарегистрируйте компонент для предоставления услуги, проверьте регистрацию службы с помощью IsRegistered (), либо используйте метод ResolveOptional () для разрешения необязательной зависимости.

Я попытался зарегистрировать UserManagerно безуспешно.

Вот файл Startup.cs

// This method gets called by the runtime. Use this method to add services to the container.
    public IServiceProvider ConfigureServices(IServiceCollection services)
    {
        services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });

        //services.AddDbContext<ApplicationDbContext>(options =>
        //  options.UseSqlServer(
        //      Configuration.GetConnectionString("DefaultConnection")));

        services.AddDbContext<IdentityContext>();

        services.AddIdentity<AppUser, AppRole>()
            .AddEntityFrameworkStores<IdentityContext>()
            .AddDefaultUI()
            .AddDefaultTokenProviders();


        services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
            .AddControllersAsServices();

        // AUTOFAC
        var builder = new ContainerBuilder();

        builder.Populate(services);
        builder.RegisterAssemblyTypes(typeof(ServiceBase).Assembly).AsImplementedInterfaces().InstancePerLifetimeScope();

        return new AutofacServiceProvider(builder.Build());
    }

До того, как я изменил первичный ключ, внедрение зависимости работало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...