【发布时间】:2014-03-04 14:03:12
【问题描述】:
我为 ASP.NET Identity 编写了一个自定义 UserStore,我在 ASP.NET MVC 5.1 应用程序中使用它。一切都按预期工作,我对 ASP.NET 的这个新功能(身份)非常满意......
问题是我想已经快 2 天了,因为我试图从 UpdateAsync 方法返回一个错误,但不知何故,我似乎无法返回任何东西。
LE:我正在使用 ASP.NET Identity Core 2.0.0-beta1
这是我的几行代码:
public Task UpdateAsync(IdentityUser user)
{
AdminUserEntity userEntity = new AdminUserEntity();
userEntity.IsNew = false;
userEntity.Id = user.UserModel.Id;
userEntity.UserCompleteName = user.UserModel.UserCompleteName;
userEntity.IsDisabled = user.UserModel.IsDisabled;
if (!String.IsNullOrEmpty(user.UserModel.PasswordHash))
userEntity.PasswordHash = user.UserModel.PasswordHash;
if (user.Claims != null && user.Claims.Count > 0)
{
foreach (Claim claim in user.Claims)
{
AdminUserClaimEntity claimEntity = userEntity.AdminUserClaims.AddNew();
claimEntity.AdminUserUniqueId = user.UserModel.UniqueId;
claimEntity.ClaimType = claim.Type;
claimEntity.ClaimValue = claim.Value;
}
}
try
{
byte[] timestamp = Convert.FromBase64String(user.UserModel.Timestamp);
AdminUserEntityManagement.UpdateCompleteAdminUserEntity(userEntity, timestamp);
}
catch (Exception exception)
{
List<string> errors = new List<string>() {exception.Message};
return Task.FromResult<IdentityResult>(IdentityResult.Failed(errors.ToArray()));
}
return Task.FromResult<object>(null);
}
虽然发生了异常并且正在执行 catch 块,但以下行总是返回成功:
IdentityResult result = await UserManager.UpdateAsync(identityUser);
谁能告诉我我错过了什么?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-identity