Membership.CreateUser()给出此错误“不支持指定的方法”

时间:2013-04-19 11:25:15

标签: asp.net-mvc-4 asp.net-membership

当我使用

注册新用户时

Membership.CreateUser(model.UserId, model.Password, model.Email, null, null, true, null, out createStatus)

我收到以下错误:

  

不支持指定的方法

请帮忙

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Register(RegisterModel model)
    {
        if (ModelState.IsValid)
        {
            // Attempt to register the user
            MembershipCreateStatus createStatus;
            Membership.CreateUser(model.UserId, 
                                  model.Password, 
                                  model.Email, 
                                  null, 
                                  null, 
                                  true, 
                                  null, 
                                  out createStatus);

            if (createStatus == MembershipCreateStatus.Success)
            {

                UpdateUserInfo();
                /* "False" for createPersistentCookie: */
                FormsAuthentication.SetAuthCookie(model.UserId, false);
                return RedirectToAction("Index", "Home");
            }
            else
            {
                ModelState.AddModelError("", ErrorCodeToString(createStatus));
            }
        }

        // If we got this far, something failed, redisplay form
        return View(model);
    }

3 个答案:

答案 0 :(得分:2)

您现在必须使用WebSecurity.CreateUserAndAccount(...)

答案 1 :(得分:0)

如果您正在尝试为MVC4使用ASP.NET成员资格提供程序(这是公平的 - 您可能必须访问您无法控制的旧成员资格提供程序数据库),您将需要关闭SimpleMembership (这是MVC4的默认值。)

只需将以下行添加到Web.config中的“appSettings”:

<add key="enableSimpleMembership" value="false" />

答案 2 :(得分:0)

您在方法调用中添加了一个额外的null。

方法应如下:

Membership.CreateUser(model.UserId, model.Password, model.Email, null, null, true, out createStatus);

这是方法签名:

public static MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, out MembershipCreateStatus status);

希望这有帮助!