2015-02-22 4 views
0

приложение asp.net mvc 4 с использованием проверки подлинности форм. Я пытаюсь добавить роли пользователям при регистрации. Я получаю сообщение об ошибке 500 с сервера. поэтому я поставил точку останова на действие регистра. его прыжок из метода Membership.CreateUser, имя пользователя и пароль в порядке. любые идеи, что может быть неправильным. и я знаю, что проверка состояния модели не должна быть там.пользовательское действие регистрации добавляет роли при регистрации

public ActionResult Register(string username, string password) 
    { 
     if (ModelState.IsValid) 
     { 
      // Attempt to register the user 
      MembershipCreateStatus Status; 
      Membership.CreateUser(username,password,null, null, null, true, null, out Status); 
      //WebSecurity.CreateUserAndAccount(username, password); 
      if (Status == MembershipCreateStatus.Success) 
      { 
       Roles.AddUserToRole(username, "Mechanic"); 
       FormsAuthentication.SetAuthCookie(username, false); 
       return RedirectToAction("Index", "Home"); 
      } 
      else 
      { 
       ModelState.AddModelError("", ErrorCodeToString(Status)); 
      } 

      return RedirectToAction("Mechanics", "Mechanic"); 

     } 

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

ответ

0

Вы можете поставить попробовать/поймать вокруг этого вызова метода и проверить исключение:

try 
{ 
    Membership.CreateUser(username,password,null, null, null, true, null, out Status); 
} 
catch (Exception ex) 
{ 
    ... put the breakpoint here and inspect the exception 
} 
Смежные вопросы