Оптимизация поиска пользователей Azure Active Directory - PullRequest
0 голосов
/ 04 ноября 2019

У меня запрос типа -

this.adClient = new ActiveDirectoryClient(serviceRoot, async () => await GetAppTokenAsync());

var activeDirectoryResult = await adClient.Users.Where(user =>
    user.DisplayName.StartsWith(searchText) ||
    user.Surname.StartsWith(searchText) ||
    user.GivenName.StartsWith(searchText)
).ExecuteAsync();

для фильтрации пользователей из Active Directory. Запрос занимает время (в миллисекундах), например:

Количество строк => миллисекунда

Количество = 100 => 8576 мс

Количество = 7 => 548 мс

Количество = 100 => 1584 мс

Количество = 3 => 613 мс

Количество = 100 => 3374 мс

и не соответствует. Как мне улучшить / оптимизировать результат поиска здесь?

Пожалуйста, помогите. Спасибо

1 Ответ

0 голосов
/ 04 ноября 2019

Сложно сказать. Это может быть нестабильная производительность сети, а это значит, что вы вряд ли сможете там что-то сделать.

Вы можете попытаться сохранить свой токен (результат await GetAppTokenAsync()) и использовать его повторно. Это избавит вас от получения нового токена каждый раз, когда вы делаете запрос (это сэкономит вам сетевой запрос и, следовательно, время). Однако вам придется справиться с получением нового токена, когда истекает текущий (в зависимости от того, как долго работает ваше приложение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...