Я пытаюсь привести запросы, чтобы получить их быстрее, проблема в том, что я в конечном итоге дублирует тех же 19 человек. < /p>
Для начала мой фильтр: < /p>
(startswith(userprincipalname,'xyz105766')) OR
(startswith(userprincipalname,'xyz111380')) OR
(startswith(userprincipalname,'xyz123220')) OR
(startswith(userprincipalname,'xyz160852')) OR
(startswith(userprincipalname,'xyz197308')) OR
(startswith(userprincipalname,'xyz265002')) OR
(startswith(userprincipalname,'xyz283506')) OR
(startswith(userprincipalname,'xyz309288')) OR
(startswith(userprincipalname,'xyz312202')) OR
(startswith(userprincipalname,'xyz337328'))
Это в одном рабочем вызове, однако, представьте, что у меня есть список фильтров, то, что показано выше, представляет 1 строку в этом списке.
Я попробовал следующее:
var membersList = new List(); // Custom Class
var filters = CreateQueryFilter(list);
var batchRequest = new BatchRequestContentCollection(graphClient);
var batchIds = new List();
int cnt = 0;
foreach (string filter in filters)
{
var requestInfo = graphClient.Users
.ToGetRequestInformation(config => {GetGraphOptions(filter, null); });
batchRequest = new BatchRequestContentCollection(graphClient);
var requestId = await batchRequest.AddBatchRequestStepAsync(requestInfo);
batchIds.Add(requestId);
cnt++;
}
var response = await graphClient.Batch.PostAsync(batchRequest);
// Process each response
foreach (var id in batchIds)
{
var callResult = await response.GetResponseByIdAsync(id);
if (callResult != null && callResult.Value != null)
{
// seems callResult.Value is always 100
matchedUsers.ForEach(s => {
var member = new EntraUser(s);
membersList.Add(member);
});
}
batchIds.Clear();
Подробнее здесь: https://stackoverflow.com/questions/796 ... every-time
Entra Pactor, возвращая одни и те же данные каждый раз ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение