[英]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.