I've created custom membership provider and it is more convenient for me to operate on MembershipUser.ProviderUserKey rather than UserName. So, to retrieve ProviderUserKey I perform such code:
if (User.Identity.IsAuthenticated)
{
int UserID = (int)Membership.GetUser(User.Identity.Name).ProviderUserKey;
}
However, when GetUser() method is executed, user data must be retrieved from database and this is bugging me. This is unnecessery waste of server time, no matter how short this time is, I would like to avoid it.
Is there any other way to get ProviderUserKey in a more convenient way, like in User.Identity.Name case?
I would like to hear your ideas. How do you solve this problem on your webpages?.
Thanks.