2016-08-25 7 views
5

jestem corazBrak usługi dla typu „Microsoft.AspNetCore.Identity.SignInManager Kiedy

InvalidOperationException: nie Serwis na typ 'Microsoft.AspNetCore.Identity.SignInManager 1 [Authorization.IdentityModels.ApplicationUser]' Zostało zarejestrowane.

po uruchomieniu mojej strony internetowej ApSCore MVC.

to są segmenty z mojego kodu:

ConfigureServices:

services.AddDbContext<ApplicationDbContext>(options => 
         options.UseNpgsql(configuration["Data:DefaultConnection:ConnectionString"])); 



services.AddIdentity<ApplicationUser, IdentityRole<Guid>>() 
        .AddEntityFrameworkStores<ApplicationDbContext, Guid>() 
        .AddDefaultTokenProviders(); 

Konfiguracja:

app.UseIdentity(); 

ApplicationDbContext.cs

public class ApplicationDbContext : IdentityDbContext<ApplicationUser, IdentityRole<Guid>, Guid> 

ApplicationUser.cs

public class ApplicationUser : IdentityUser<Guid> 

Będę bardzo szczęśliwy, jeśli możesz mi pomóc.

+0

Proszę zaksięgować kod kontrolera generującego ten wyjątek. –

+0

Wyjątek nie znajduje się w kontrolerze, zdarza się wszędzie. – Dani

Odpowiedz

9

Nie jestem pewien, czy nadal widzisz ten problem, ale oto pomoc dla każdego, kto się na to natknął.

Problem pochodzi z klasy aplikacji wymagającej obiektu SignInManager w jego konstruktorze, ale nie istnieje implementacja powiązana z nią w konfiguracji wprowadzania zależności.

Aby naprawić, w swojej klasie uruchamiania, w metodzie ConfigureServices, zarejestruj klasę SignInManager w usługach. Na przykład: services.AddScoped<SignInManager<ApplicationUser>, SignInManager<ApplicationUser>>();

Metoda rozszerzenia AddIdentity mogła zostać zaktualizowana, ponieważ pierwotne pytanie zostało poproszone o dodanie tego, ale ten sam typ błędu pojawi się w przypadku jakichkolwiek problemów z pojemnikiem IoC.

+0

To nie pomogło mi w wersji 2.0. Oto, co zadziałało: https://stackoverflow.com/a/47563601/1443490 – cheesemacfly

Powiązane problemy