Я сделал поставщика пользовательского членства, с помощью пользовательского метода CreateUser, который принимает еще один аргумент, как это:Какой метод CreateUserWizard вызывает Memberhip.CreateUser?
public class CustomMembershipProvider : MembershipProvider
{
// code
public override MembershipUser CreateUser(string username,
string password, etc...)
{
// does nothing
}
public MembershipUser MyCreateUser(string username,string password,string COMPANY, etc...)
{
// validades the fields and inserts the user in the db
}
}
А теперь я хочу, чтобы использовать элемент управления мастера Создать пользователя для вставки пользователей, с этим дополнительным полем. я продлил контроль над чем-то вроде этого:
public class CustomCreateUser : CreateUserWizard
{
public CustomCreateUser(): base()
{
}
protected override void OnCreatingUser(LoginCancelEventArgs e)
{
MembershipUser newUser = ((CustomMembershipProvider)Membership.Provider).MyCreateUser(username,password,company, etc...)
}
}
Проблема заключается в том, что после этого OnCreatingUser называется, контроль вызовов по умолчанию CreateUser провайдера (тот, который ничего не делает) метод внутренне, выбрасывая ошибку, потому что пользователь уже был вставлен ...
Возможно ли предотвратить второй вызов, переопределив метод в CustomCreateUser?
Заранее спасибо