Karthik Chintala
Karthik Chintala

Reputation: 5545

Unable to access CreateAsync in User Manager

I'm trying to use the new Asp.Net Identity system. I've searched this in asp.net site and able to find a tutorial here.

I've created Register action and appropriate view for it. But Unable to code it further as I'm struck using User Manager in Identity System.

To be precise, It's here.

var result = await UserManager.CreateAsync(user, register.Password);

The UserManager class throws an exception

Using the generic type 'Microsoft.AspNet.Identity.UserManager<TUser,TKey>' requires 2 type arguments    

My question is why did the author of the tutorial did not get any sort of exceptions ? Am I missing any dependencies ?

It seems like the documentation is not so perfect in asp.net site as well.

Any help would be appreciated.

Upvotes: 6

Views: 14361

Answers (3)

Igor  Podolskiy
Igor Podolskiy

Reputation: 11

So, at the beginning just declared a property as

 public UserManager<ApplicationUser> UserManager { get{return _userManager;} private set{} }

And

  private AppUserManager _userManager 
{
  get { return HttpContext.GetOwinContext().GetUserManager<AppUserManager>();}
}

Upvotes: 0

Karthik Chintala
Karthik Chintala

Reputation: 5545

var result = await UserManager.CreateAsync(user, register.Password);

The UserManager in the above statement is not a Class as I've expected. Its a property of type UserManager<ApplicationUser>.

So, at the beginning just declared a property as

public UserManager<ApplicationUser> UserManager { get; private set; }

And now I can use the Async version for creating users. The following statement works.

var result = await UserManager.CreateAsync(user, register.Password);

Upvotes: 12

David Martin
David Martin

Reputation: 12248

Have you referenced "Microsoft.AspNet.Identity.Core, Version=2.0.0.0"?

Microsoft ASP.NET Identity Core 2.0.0

Update 1 I've just looked back at some code where I have done this, and it looks like I ended up using the non-async version:

var result = userManager.Create(user, password);

Although this doesn't answer your specific question, it may help.

Update 2 Check you have the following using statements:

using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.Owin.Security;

Upvotes: 2

Related Questions