Одновременная регистрация пользователей DNN не работает

Я создал собственный модуль для регистрации пользователя в DNN с использованием UserController.CreateUser(ref userinfo), и он работает для одного пользователя. Когда один пользователь пытается зарегистрироваться, он регистрируется, но проблема заключается в том, что несколько пользователей или одновременный пользователь пытается зарегистрироваться, это регистрирует только одного пользователя, а другой пользователь получает исключение. Я уже пробовал использовать метод ProfileController.UpdateUserProfile(userInfo);, но он не работает.


person Ankur Gupta    schedule 25.10.2016    source источник
comment
Можете ли вы показать код? Как вы пытаетесь добавить несколько пользователей одновременно? И мне кажется, что ProfileController.UpdateUserProfile не будет добавлять несколько пользователей, достаточно обновить профиль для одного.   -  person VDWWD    schedule 26.10.2016
comment
Я использую только UserCreateStatus userCreateStatus = UserController.CreateUser(ref pakUserInfo); для регистрации пользователя, но когда 3-4 пользователя одновременно нажимают кнопку «ОК», регистрируется только один пользователь, а другой получает исключение UnExpectedError   -  person Ankur Gupta    schedule 26.10.2016
comment
Как и где вы создаете pakUserInfo? Обновите свой вопрос соответствующим фрагментом.   -  person VDWWD    schedule 26.10.2016


Ответы (1)


Если я использую приведенный ниже код, я получаю 5 новых зарегистрированных пользователей. Адаптируйте этот фрагмент под свои нужды, чтобы зарегистрировать несколько пользователей одновременно.

for (int i = 0; i < 5; i++)
{
    UserInfo newUser = new UserInfo();
    newUser.Username = "Username_" + i.ToString();
    newUser.PortalID = base.PortalId;
    newUser.DisplayName = "DisplayName_" + i.ToString();
    newUser.Email = "Email_" + i.ToString();
    newUser.FirstName = "FirstName_" + i.ToString();
    newUser.LastName = "LastName_" + i.ToString();
    newUser.IsSuperUser = false;
    newUser.Profile.Street = "Street_" + i.ToString();
    newUser.Profile.City = "City_" + i.ToString();
    newUser.Profile.Country = "Country_" + i.ToString();
    newUser.Profile.PostalCode = "PostalCode_" + i.ToString();
    newUser.Profile.Telephone = "Telephone_" + i.ToString();
    newUser.Profile.PreferredLocale = PortalSettings.DefaultLanguage.ToString();
    newUser.Membership.Password = Guid.NewGuid().ToString().Substring(0, Math.Min(25, 30));
    newUser.Membership.Approved = true;
    newUser.Membership.UpdatePassword = false;

    UserCreateStatus userCreateStatus = UserController.CreateUser(ref newUser);
}
person VDWWD    schedule 26.10.2016