我正在努力弄清楚如何在ASP.NET Identity 2.1的IIdentityMessageService实现中返回错误消息,即:
Task SendAsync(IdentityMessage message);
当生成并发送2FA代码时,我想在SMS失败时陷阱并显示错误消息:
public async Task<ActionResult> SendCode(SendCodeViewModel model)
..
var token = await this.UserManager.GenerateTwoFactorTokenAsync(userId, model.SelectedProvider);
var result = await this.UserManager.NotifyTwoFactorTokenAsync(userId, model.SelectedProvider, token);
我希望第二次调用报告result.Succeeded == false
并允许我阅读result.Errors
的错误消息。
这有办法做到这一点,还是我以错误的方式看待它,应该使用不同的方法来捕获SendAsync上的任何错误?
答案 0 :(得分:3)
SendAsync现在并不意味着返回错误消息,您可以通过抛出然后捕获SendCode中的异常来完成您想要的任何操作,以显示您想要的错误。