Veerendra Prabhu
Veerendra Prabhu

Reputation: 139

ASP.Net Identity. UserManager.CreateAsync Throws Error: Value cannot be null. Parameter name: request

I am trying to create a user by calling register function within the application.

This function works fine when the function is called as a API.

When Called from Inside the application it throws an error

        AccountController ac = new AccountController();
        RegisterBindingModel rbm = new RegisterBindingModel();
        rbm.Email = UserAccountBase.Email; 
        rbm.Password = "TestPassword";
        rbm.ConfirmPassword = "TestPassword";

        var userId = await ac.Register(rbm);



 // POST api/Account/Register
    [AllowAnonymous]
    [Route("Register")]
    [ApiExplorerSettings(IgnoreApi = true)]
    public async Task<IHttpActionResult> Register(RegisterBindingModel model)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
        try
        {
            var result = await UserManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return GetErrorResult(result);
            }
        }
        catch(Exception e) {
            var message = e.Message;
        }

        return Ok(user.Id);
    }

UserManager.CreateAsync Throws an error

Value cannot be null. Parameter name: request

Upvotes: 0

Views: 4554

Answers (2)

trimbakeshwar hudge
trimbakeshwar hudge

Reputation: 1

In the identity model, you will have a Discriminator column. In your model, add migration and update the database.

Upvotes: 0

jallen
jallen

Reputation: 612

Did you build this using ASP Identity 2.0 and EF Code First? If so, check to see if your initial DB configuration put a column called 'Discriminator' at the end of AspNetUsers. If this is the case, recreate an initial migration and remove that column that gets generated. Once removed, you can perform an update-database. Does this make any sense? I just had this happen to me.

Upvotes: 1

Related Questions