Asp.net core 在Asp.Net核心的方法或构造函数中获取用户?
我有一个Asp.Net Core API控制器,使用以下方法获取用户实例:Asp.net core 在Asp.Net核心的方法或构造函数中获取用户?,asp.net-core,asp.net-core-webapi,asp.net-core-1.1,Asp.net Core,Asp.net Core Webapi,Asp.net Core 1.1,我有一个Asp.Net Core API控制器,使用以下方法获取用户实例: var user = await userManager.GetUserAsync(User); 我想知道,是将登录用户分配给控制器中的用户变量更好,还是在每个方法中都这样做 请注意,某些方法可能具有[Authorize]属性 谢谢每当访问路由时,控制器将被创建为短期对象。因此,从技术上讲,在构造函数中或在每个操作中运行一些代码没有区别 也就是说,您不能在构造函数中等待,因此这可能更适合于操作。此外,通过在构造函数中
var user = await userManager.GetUserAsync(User);
我想知道,是将登录用户分配给控制器中的用户变量更好,还是在每个方法中都这样做
请注意,某些方法可能具有[Authorize]属性
谢谢每当访问路由时,控制器将被创建为短期对象。因此,从技术上讲,在构造函数中或在每个操作中运行一些代码没有区别 也就是说,您不能在构造函数中等待,因此这可能更适合于操作。此外,通过在构造函数中没有这个选项,您可以让操作在实际需要时选择这样做,而不是一直运行它
即使你最终在每个动作中都得到了用户对象,只要考虑一个表单帖子,在那里你首先验证了内容:在检索用户对象之前,你可以验证发布的视图模型,这样你就可以显示一个错误,而实际上不必去查找用户。因此,只有在您真正需要时才能获得用户。
您不能在构造函数中等待。除此之外,请阅读帮助中心关于如何提问的文章。征求意见是离题的