[英]Why do we have to invoke await _userManager.GetUserAsync(User) per action method?
老实说,我不了解基于asp.net-core的Web应用程序是如何工作的。 现在,我试图一点一点地弄清它在幕后的工作方式。
让我们考虑选择了“ Individual User Account
的默认模板。 更精确地在ManageController
类中如下。
namespace StackOverflow.Controllers
{
[Authorize]
[Route("[controller]/[action]")]
public class ManageController : Controller
{
// others are trimmed for the sake of simplicity
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> EnableAuthenticator(EnableAuthenticatorViewModel model)
{
// ..........
var user = await _userManager.GetUserAsync(User);
// ........
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> ResetAuthenticator()
{
var user = await _userManager.GetUserAsync(User);
//.......
}
[HttpGet]
public async Task<IActionResult> GenerateRecoveryCodes()
{
var user = await _userManager.GetUserAsync(User);
// ..........
}
}
该声明
var user = await _userManager.GetUserAsync(User);
几乎在每种动作方法中都会发生。
为什么我们每个动作方法都必须调用await _userManager.GetUserAsync(User)
? 我们为什么不将其作为类财产?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.