Это может быть лучше думать о методах, как это:
CreateUser(Username, Password);
CreateUser(Username, Password, Email);
Не откидывая код, который я не могу сказать на 100% точно, но я буду держать пари, эти функции просто вызвать внутреннюю функцию, принимает все возможные параметры.
Таким образом, ваш первый вызов (упрощенный) на самом деле:
CreateUser("[email protected]", "pwd", null);
Если вы настроили ваш провайдер требует адрес электронной почты, то, очевидно, null
не является действительным.
От MSDN docs:
SqlMembershipProvider предоставляет возможность требовать уникальный адрес электронной почты для каждого пользователя. Если свойство RequiresUniqueEmail равно true, вам нужно будет использовать одну из перегрузок CreateUser, которая позволяет указать адрес электронной почты для создаваемого пользователя. В противном случае выдается исключение MemberhipCreateUserException.
Обновите настройки раздела членства в web.config ... Вам нужно изменить это ... –
В ссылке, которую вы разместили в разделе «Примечания»: '... Если свойство RequiresUniqueEmail является истинным, вы необходимо будет использовать одну из перегрузок CreateUser, которая позволяет указать адрес электронной почты для создаваемого пользователя. В противном случае, MemberhipCreateUserException будет выброшено ' – Equiso