我有一个查询-
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毫秒
及其不一致。如何在这里改善/优化搜索结果?
请帮助。 谢谢
答案 0 :(得分:0)
很难说。网络性能可能不一致,这意味着您可能没有很多可以做的。
您可以尝试存储令牌(来自await GetAppTokenAsync()
的令牌)并重新使用它。这样可以避免您在每次查询时 都获取新令牌(这将为您节省网络请求,从而节省时间)。但是,当当前令牌到期时,您将不得不处理获取新令牌的情况(取决于您的应用程序的运行时间)。