UserNamePasswordValidator и результаты кэширования - PullRequest
0 голосов
/ 13 мая 2011

У меня есть UserNamePasswordValidator, и он обращается к базе данных, чтобы убедиться, что запрос действителен для wcfclientcredentials.

Я понял, что не хочу обращаться к базе данных каждый раз, когда звоню.

Каков наилучший способ кэширования результатов?

т.е. если я уже знаю, что имя пользователя / пароль верны, зачем проверять его снова и снова?

Ответы [ 2 ]

2 голосов
/ 13 мая 2011

Хотя я согласен с комментарием Mellamokb, но если вы действительно хотите это сделать ...

Я бы выбрал Dictionary<UserName, SecureString>

Плюс, вам нужно будет убедиться, что вы обновляете словарьв случае смены пароля

1 голос
/ 13 мая 2011

Вы можете кэшировать username/password в dictionary с username в качестве ключа и password в качестве значения.

Dictionary<string, string> userName_Pwd_Cache = new Dictionary<string, string>();
//caching username/password code

    if(userName_Pwd_Cache.ContainsKey(userNameVar)) //let userNameVar is entered username
    {
           if(userName_Pwd_Cache[userNameVar] == passwordVar) //let passwordVar is entered passwords
           {
               //user authenticated
           }
           else
           {
               //authentication failed 
           }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...