Я создал пользовательский провайдер членства, и мне удобнее работать с MembershipUser.ProviderUserKey
, а не с UserName. Итак, для извлечения ProviderUserKey
я выполняю такой код:
if (User.Identity.IsAuthenticated)
{
int UserID = (int)Membership.GetUser(User.Identity.Name).ProviderUserKey;
}
Однако, когда выполняется метод GetUser()
, пользовательские данные должны быть извлечены из базы данных, и это меня беспокоит. Это бесполезная трата серверного времени, независимо от того, насколько коротким это время, я бы хотел его избежать.
Есть ли другой способ получить ProviderUserKey
более удобным способом, как в User.Identity.Name
случае?
Я хотел бы услышать ваши идеи. Как вы решаете эту проблему на своих веб-страницах?.
Спасибо.