Mr Coder
Mr Coder

Reputation: 847

No owin.Environment item was found in the context in asp mvc

This is my code for register in identity :

[AllowAnonymous]
public ActionResult Register()
{
    var roles = db.Roles.Select(r => new { RoleID = r.Id, RoleName = r.Name }).ToList();
    ViewBag.Roles = new SelectList(roles, "RoleID", "RoleName");

    return View();
}

//
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model, HttpPostedFileBase UserPhoto)
{
    if (ModelState.IsValid)
    {
        model.DateRegister = DateTime.Now;
        var user = new ApplicationUser
        {
            UserName = model.UserName,
            Name = model.Name,
            Family = model.Family,
            PhoneNumber = model.PhoneNumber,
            Gender = model.Gender,
            BirthDay = model.BirthDay,
            DateRegister = model.DateRegister,
            IsActive = false,
            Email = model.Email
        };

        if (UserPhoto != null)
        {
            UserPhoto = Request.Files[0];
            var ext = System.IO.Path.GetExtension(UserPhoto.FileName);
            if (ext == ".jpeg" || ext == ".jpg" || ext == ".png")
            {

                string filename = model.PhoneNumber + ext;
                UserPhoto.SaveAs(Server.MapPath(@"~/Image/" + filename));
                user.UserPhoto = filename;
            }
        }

        var result = await UserManager.CreateAsync(user, model.Password);
        if (result.Succeeded)
        {

            await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
            await UserManager.AddToRoleAsync(user.Id,model.UserRoles);
            return RedirectToAction("Index", "Home");
        }
        AddErrors(result);
    }


    return View(model);
}

WebConf :

<appSettings>
  <add key="webpages:Version" value="3.0.0.0" />
  <add key="webpages:Enabled" value="false" />
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  <add key="owin:AutomaticAppStartup" value="false" />
  <add key="owin:AppStartup" value="Identity_Work.Startup" />
</appSettings>

But I get this error:

enter image description here

What is the problem and how can I fix it?

Upvotes: 2

Views: 6865

Answers (1)

Nkosi
Nkosi

Reputation: 247323

Based on previous conversation you confirmed that

[assembly: OwinStartup(typeof(Identity_Work.Startup))]

already exists in Startup.cs.

Which means that there is no longer a need for owin:AppStartup in the web.config.

Therefore your appSettings should look like this.

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="owin:AutomaticAppStartup" value="true" /> <!-- This should be true -->
</appSettings>

Upvotes: 9

Related Questions