Попытка отправить запросы, чтобы получить их быстрее, проблема в том, что у меня появится дубликат тех же 19 человек
для начала, мой фильтр < /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'))
< /code>
Это в одном вызовом, однако представьте, что у меня есть фильтры списка, выше представляет 1 строку в списке < /p>
Я попробовал следующее < /p>
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#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение