繁体   English   中英

MVC:在控制器中保留对当前用户的引用的最佳方法是什么?

[英]MVC: What would be the best way to keep a reference to the current user in your controllers?

我是一个将所有内容都绑定到当前连接用户的应用程序。 到目前为止,几乎我所有的操作都调用了我的UsersService.GetUser(guid)方法,该方法将用户及其所有关联数据带入。 确实可以,但是在每个动作中都说了一个电话确实让我感到困扰。

经过考虑后,我决定使用一个声明如下内容的基本控制器

protected UserProfile CurrentUser
    {
        get { return UsersService.GetUser((Guid)Membership.GetUser().ProviderUserKey); }
    }

然后让我的控制器继承自基本控制器,并使用CurrentUser而不是在每个操作中都调用该服务。 不过,感觉就像我只是将灰尘藏在地毯下。

因此,如果您有更好的方法,请分享。

对我来说,您的所作所为对我来说是有意义的。 使用基本控制器是一个好习惯。 可能需要扩展的一件事是将用户放置在会话对象中,因此您无需每次请求都访问数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM