I'm an app where everything is tied to the currently connected user. So far almost all my actions have a call to my UsersService.GetUser(guid) method which brings the user and all its associated data. It does work ok but having said call in every action is really bothering me.
After giving it some thought I decided to go with a base controller that declares something like
protected UserProfile CurrentUser
{
get { return UsersService.GetUser((Guid)Membership.GetUser().ProviderUserKey); }
}
And then have my controllers inherit from the base controller and use CurrentUser instead of calling the service in every action. Still, it feels like I'm just hiding the dirt under the rug.
So please, if you have a better way do share.