Сначала проверьте контекст вашего имени пользователя. У меня была такая же проблема сама. Иногда имя пользователя возвращает текущего вошедшего в систему пользователя, а не пользователя, для которого вы пытаетесь удалить роли.
Во-вторых, убедитесь, что ваш код не удаляет роли там, где вы этого не ожидаете. Вот две проблемы, которые у меня возникли, когда я получил ту же ошибку. Также убедитесь, что вы используете поставщика членства, чтобы получить объект пользователя членства, который затем можно использовать для доступа к имени пользователя.
Вот мой похожий код, но я просматривал список ролей, которые уже были связаны и предварительно заполнены выбранными ролями, которые уже есть у пользователя.
MembershipUser user = Membership.GetUser (txtUserName.Text);
//Update roles
foreach (ListItem role in cbRoles.Items)
{
if (role.Selected)
{
//if user is not in role
if (!Roles.IsUserInRole(user.UserName,role.Value))
{
Roles.AddUserToRole(user.UserName, role.Value);
}
}//role not selected
else
{
//if user is in a role that is no longer selected remove them
if (Roles.IsUserInRole(user.UserName, role.Value))
{
Roles.RemoveUserFromRole(user.UserName, role.Value);
}
}
}
Надеюсь, это поможет. GS