Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 在Asp.Net核心的方法或构造函数中获取用户?_Asp.net Core_Asp.net Core Webapi_Asp.net Core 1.1 - Fatal编程技术网

Asp.net core 在Asp.Net核心的方法或构造函数中获取用户?

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]属性 谢谢每当访问路由时,控制器将被创建为短期对象。因此,从技术上讲,在构造函数中或在每个操作中运行一些代码没有区别 也就是说,您不能在构造函数中等待,因此这可能更适合于操作。此外,通过在构造函数中

我有一个Asp.Net Core API控制器,使用以下方法获取用户实例:

 var user = await userManager.GetUserAsync(User);
我想知道,是将登录用户分配给控制器中的用户变量更好,还是在每个方法中都这样做

请注意,某些方法可能具有[Authorize]属性


谢谢

每当访问路由时,控制器将被创建为短期对象。因此,从技术上讲,在构造函数中或在每个操作中运行一些代码没有区别

也就是说,您不能在构造函数中等待,因此这可能更适合于操作。此外,通过在构造函数中没有这个选项,您可以让操作在实际需要时选择这样做,而不是一直运行它


即使你最终在每个动作中都得到了用户对象,只要考虑一个表单帖子,在那里你首先验证了内容:在检索用户对象之前,你可以验证发布的视图模型,这样你就可以显示一个错误,而实际上不必去查找用户。因此,只有在您真正需要时才能获得用户。

您不能在构造函数中等待。除此之外,请阅读帮助中心关于如何提问的文章。征求意见是离题的