PDA

View Full Version : تزریق IdentityUser به کنترلر AccountController و ایجاد خطا



pooya1072
سه شنبه 28 آبان 1398, 11:23 صبح
سلام
من برای ایجاد یک کاربر جدید , IdentityUser را به Constructor کنترلر AccountControler
به عنوان آرگومان inject کردم :

public class AccountController : Controller
{
private readonly UserManager<IdentityUser> userManager;
private readonly SignInManager<IdentityUser> signInManager;
public AccountController(UserManager<IdentityUser> userManager, SignInManager<IdentityUser> signInManager)
{
this.userManager = userManager;
this.signInManager = signInManager;
}
}



وقتی دکمه Register را کلیک میکنم خطای زیر ایجاد میشه:



.An unhandled exception occurred while processing the request




InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]' while attempting to activate 'MyGameWebSite.Controllers.AccountController'.
Microsoft.Extensions.DependencyInjection.Activator Utilities.GetService(IServiceProvider sp, Type type, Type requiredBy, bool isDefaultParameterRequired)



Microsoft.Extensions.DependencyInjection.Activator Utilities.GetService(IServiceProvider sp, Type type, Type requiredBy, bool isDefaultParameterRequired)
lambda_method(Closure , IServiceProvider , object[] )
Microsoft.AspNetCore.Mvc.Controllers.ControllerAct ivatorProvider+<>c__DisplayClass4_0.<CreateActivator>b__0(ControllerContext controllerContext)
Microsoft.AspNetCore.Mvc.Controllers.ControllerFac toryProvider+<>c__DisplayClass5_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)
Microsoft.AspNetCore.Mvc.Internal.ControllerAction Invoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ControllerAction Invoker.InvokeInnerFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker. InvokeNextResourceFilter()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker. Rethrow(ResourceExecutedContext context)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker. Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker. InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker. InvokeAsync()
Microsoft.AspNetCore.Builder.RouterMiddleware.Invo ke(HttpContext httpContext)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddlew are.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptio nPageMiddleware.Invoke(HttpContext context)





ممنون میشم علت و روش رفع خطا را بگید.

kamranetemadi
چهارشنبه 29 آبان 1398, 06:57 صبح
سعی کردی readonly ها رو برداری؟

pooya1072
چهارشنبه 29 آبان 1398, 11:47 صبح
سعی کردی readonly ها رو برداری؟
سلام
بله برداشتم، ولی همون خطا میاد.
من فکر میکنم باید توی startup.cs توی سرویس ها IdentityUser را به سرویس ها add کنم ، ولی نمیدونم چطور؟

hakim22
پنج شنبه 30 آبان 1398, 15:55 عصر
در ConfigureServices


services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<PortalDbContext>()
.AddDefaultUI()
.AddDefaultTokenProviders();

pooya1072
جمعه 15 آذر 1398, 17:46 عصر
در ConfigureServices


services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<PortalDbContext>()
.AddDefaultUI()
.AddDefaultTokenProviders();

ممنون و متشکر