有沒有簡單的方法將IdentityResult
轉換爲IActionResult
考慮到錯誤?IdentityResult to ActionResult
0
A
回答
2
IdentityResult
只是一個告訴你ASP.NET(Core)Identity操作是否成功的類,如果發生錯誤會提供錯誤消息,並且與實現接口的MVC Action的結果無關。
如果您使用的WebAPI/RESTAPI控制器,你會像
public IActionResult SomeActionName()
{
IdentityResult result = ...; // some identity operation
// all is okay, return http code 200
if(result.Success)
return Ok();
// error happened, return http code 400 + errors as json
return BadRequest(result.Errors);
}
翻譯的東西或者如果你是真懶,自己寫IActionResult
:
public class IdentityActionResult : IActionResult
{
private readonly IdentityResult identityResult;
public IdentityActionResult(IdentityResult identityResult)
{
this.identityResult = identityResult;
}
public Task ExecuteResultAsync(ActionContext context)
{
IActionResult actionResult = null;
if(identityResult.Success)
{
actionResult = new OkResult();
}
else
{
actionResult = new BadRequestObjectResult(identityResult.Errors);
}
return actionResult.Execute(context);
}
}
當然,這可以進一步優化,以便您不必爲每個請求創建兩個對象,但這是一個練習留給你的; )
0
你可以寫一個擴展方法IdentityResult
返回ObjectResult是這樣的:
public static class IdentityResultExtension
{
public static ObjectResult ToObjectResult(this IdentityResult result)
{
//
return new ObjectResult(result);
}
}
然後用它在行動:
public IActionResult YourAction()
{
IdentityResult result;
return result.ToObjectResult();
}
相關問題
- 1. MVC 5翻譯IdentityResult
- 2. MVC的ActionResult呼叫其他的ActionResult
- 3. 單元測試ActionResult
- 4. 如何返回ActionResult?
- 5. 佈局的ActionResult
- 6. MVC String in ActionResult
- 7. Json.Net和ActionResult
- 8. 下載的ActionResult
- 9. 重寫Create()ActionResult?
- 10. ActionResult - 服務
- 11. ActionResult中的參數
- 12. asp.net mvc validate [HttpPost] ActionResult()
- 13. 返回ActionResult as 301
- 14. ActionResult不被調用
- 15. MVC 4的ActionResult JsonRegister
- 16. C#MVC4 ActionResult ActionFilter FormCollection
- 17. Mvc Release Candidate「File」ActionResult
- 18. Bres問題在ActionResult
- 19. MVC3自定義ActionResult
- 20. Double Edit ActionResult with [AllowAnonymous] and [Authorize]
- 21. 重定向ActionResult來自httpPost ActionResult視圖不顯示
- 22. 如何從一個ActionResult獲取ViewData的值到其他ActionResult
- 23. actionresult刷新當前頁面
- 24. Casting ActionResult as HttpNotFoundResult返回null
- 25. ASP.NET MVC ActionResult方法混淆
- 26. 自定義的ActionResult和viewbag
- 27. Asp WebApi:Prettify ActionResult JSON輸出
- 28. 測試自定義ActionResult
- 29. 創建通用的ActionResult
- 30. 使用JSON.NET返回ActionResult
他們是完全無關的概念,僅僅是因爲他們都有「結果」一詞並不意味着它們可以從一個轉換到另一個 –