Azure Active Directory用户搜索优化

时间:2019-11-04 12:29:10

标签: azure active-directory azure-active-directory

我有一个查询-

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 => 548ms

计数= 100 => 1584毫秒

计数= 3 => 613ms

计数= 100 => 3374毫秒

及其不一致。如何在这里改善/优化搜索结果?

请帮助。 谢谢

1 个答案:

答案 0 :(得分:0)

很难说。网络性能可能不一致,这意味着您可能没有很多可以做的。

您可以尝试存储令牌(来自await GetAppTokenAsync()的令牌)并重新使用它。这样可以避免您在每次查询时 都获取新令牌(这将为您节省网络请求,从而节省时间)。但是,当当前令牌到期时,您将不得不处理获取新令牌的情况(取决于您的应用程序的运行时间)。