Asp.net mvc 4 Membership.CreateUser()出现此错误;不支持指定的方法";

Asp.net mvc 4 Membership.CreateUser()出现此错误;不支持指定的方法";,asp.net-mvc-4,asp.net-membership,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)

当我使用

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);
    }

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

如果您试图使用ASP.NET成员资格提供程序进行MVC4(这很公平-您可能必须访问您无法控制的旧的成员资格提供程序数据库),则需要关闭SimpleMembership(这是MVC4的默认设置)

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

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

您在方法调用中添加了一个额外的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);

希望这有帮助

为了澄清,如果您使用的是SimpleMembership,则必须使用
WebSecurity.CreateUserAndAccount()
。如果您使用的是其他成员资格提供程序,那么如果CreateUser不起作用,您可能必须使用其他程序。您使用的是SimpleMembership吗?如果是这样,请参阅Pinch的答案,如果不是,请告诉我们您使用的是什么。