在MVC 5中使用ASP.NET Identity,我希望提供一个Change Password页面...
在我的Controller中,我调用ASP.Net.Identity.Core提供的ChangePasswordAsync()方法,然后挂钩到我的服务并成功更改数据库上用户的密码。这一切都很好,但我意识到在某些情况下我需要处理来自服务的异常。因此,我在ChangePasswordAsync()周围包含了一个try catch,如果出现任何问题,它将返回初始的Change Password页面,并显示错误消息。
现在我的问题是,如果在数据库更新密码之前在服务中抛出异常,则新密码仍会缓存在内存中。因此,当用户在失败后尝试再次更改其密码时,它会显示“密码不正确”错误消息。
是否有人知道是否有办法确保用户仅在成功返回服务时进行缓存,并且如果发生异常则不会缓存?