Я использую функцию профиля ASP.NET на веб-сайте. Обновление профиля работает странно! Пользователь не может обновить свой собственный профиль, ни пользователь веб-сайта, ни администратор, но администратор может обновлять профили других пользователей.
В бэкэнде после вызова функции save () профиля SQL Трассировки сервера показывают, что хранимая процедура aspnet_Profile_SetProperties вызывается дважды. Сначала с новыми значениями, затем со старыми. Второе выполнение происходит после выгрузки страницы. Мой код не имеет ничего общего с транзакциями.
Почему он работает так странно?
Может быть проблема с установкой aspnet_regsql , так как я установил его удаленным и снова установил!?
Код
web.config
Код за
private void UpdateProfile(ProfileCommon myprofile)
{
myprofile.FirstName = tbFirstName.Text.Trim();
myprofile.LastName = tbLastName.Text.Trim();
myprofile.Email = tbEmail.Text.Trim();
myprofile.Address.Street = tbStreetPhysical.Text.Trim();
myprofile.Address.City = tbCity.Text.Trim();
myprofile.Address.PostalCode = tbPostalCode.Text.Trim();
myprofile.Contact.Phone = tbPhone1.Text.Trim();
myprofile.Contact.Mobile = tbMobile.Text.Trim();
myprofile.Save();
}
private ProfileCommon GetProfile()
{
ProfileCommon profile = this.Profile;
if (Request.QueryString["UserName"] != null && HttpContext.Current.User.IsInRole("Admin"))
profile = this.Profile.GetProfile(Request.QueryString["UserName"].ToString());
else
profile = this.Profile.GetProfile(HttpContext.Current.User.Identity.Name);
return profile;
}
protected void tbUpdateProfile_Click(object sender, ImageClickEventArgs e)
{
UpdateProfile(GetProfile());
}