У меня тяжелые времена с этим членством.
ОК, это действительно странно. Я могу зарегистрировать пользователя. Я могу зарегистрироваться, я могу войти. Однако, когда я иду, чтобы зарегистрировать ДРУГОГО пользователя, пользователь не сохраняется в базе данных, и я получаю
Сбой проверки учетных данных членства, когда пользователь пытается войти (я полагаю, потому что пользователь никогда не сохраняется).
Вот код, который я использую для сохранения нового пользователя.
На странице:
protected void btnRegister_Click(object sender, EventArgs e)
{
if (false == ValidatePage()) return;
FormsAuthentication.SignOut();
MembershipCreateStatus status;
Data.User user = UserManager.CreateUser(txtEmail.Text.Trim(), txtPassword.Text.Trim(), out status);
switch (status)
{
case MembershipCreateStatus.Success:
UserManager.Save(user);
break;
default:
lblMessage.Text = status.ToString();
break;
}
Response.Redirect("~/login.aspx");
}
метод CreateUser:
public static User CreateUser(string username, string password, out MembershipCreateStatus status)
{
using (TransactionScope transaction = new TransactionScope())
{
MembershipUser aspnetUser = Membership.CreateUser(username, password, username, null, null, true, out status);
User hqUser = null;
if (status == MembershipCreateStatus.Success)
{
hqUser = new User();
//these properties are only for issues
//that won't blow up. They can be safely removed from the system.
//the aspnet membership tables take care of this stuff for us.
hqUser.LastLoginDate = DateTime.Now;
hqUser.DateCreated = DateTime.Now;
//end properites.
hqUser.Email = username;
hqUser.MembershipID = (Guid)aspnetUser.ProviderUserKey;
Save(hqUser);
}
transaction.Complete();
return hqUser;
}}
Дополнительный метод сохранения предназначен для сохранения пользователя в базе данных приложения. Пользователь не попадает в базу данных членов, хотя я знаю, что он умирает до этого.
Кто-нибудь видел что-нибудь очевидное, что сжигает меня? Спасибо!