Пример 2, без сомнения, является наименее подверженным ошибкам подходом. Пожалуйста, посмотрите этот ответ, который я дал на аналогичный вопрос по той причине, почему:
Каков предпочтительный стиль для отдельных решений и действий?
Хотя для использования фигурных скобок в Visual Studio по умолчанию используется фигурная скобка - перевод строки (мой предпочтительный метод), книга Framework Design Guidelines (первое издание) Кшиштофа Квалины и Брэда Абрамса предлагает другое соглашение, пример 4 , помещая открывающую скобку в конец предыдущего оператора if
(стр. 274). Они также заявляют: « Избегайте опускания скобок, даже если язык это позволяет».
Не имея второго издания под рукой, я не могу сказать, изменились ли эти соглашения или нет.
So, I created Domain Service with only one method:
[EnableClientAccess()]
public class DomainChangePassword : DomainService
{
[ServiceOperation]
public bool UserChangePassword(string userName, string oldPassword, string newPassword)
{
if (Membership.ValidateUser(userName, oldPassword))
{
MembershipUser memUser = Membership.GetUser(userName);
return memUser.ChangePassword(oldPassword, newPassword);
}
return false;
}
}
В Silverlight нет встроенного механизма для изменения пароля. Для этого вам необходимо реализовать свой собственный сервис.
Например:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class SecurityService : ISecurityService
{
public bool ChangePassword(string oldPassword, string newPassword)
{
if(!HttpContext.Current.User.Identity.IsAuthenticated)
return false;
return Membership.Provider.ChangePassword(HttpContext.Current.User.Identity.Name, oldPassword, newPassword);
}
...
}
Если это отвечает на ваш вопрос, пожалуйста, «отметьте это как ответ».