我有大麻烦了。我在代码中的多个请求的执行时间比 azure app timeout 长。我需要更新很多记录,最后以天蓝色将一些数据返回到网站。我正在发送批量 200 个请求以更新 200 条记录。我需要一种更快的方法来批量更新记录。
我的代码:
public static Boolean BulkUpdateNoSorteado(CrmServiceClient service, EntityCollection entities)
{
// Create an ExecuteMultipleRequest object.
var multipleRequest = new ExecuteMultipleRequest()
{
// Assign settings that define execution behavior: continue on error, return responses.
Settings = new ExecuteMultipleSettings()
{
ContinueOnError = false,
ReturnResponses = true
},
// Create an empty organization request collection.
Requests = new OrganizationRequestCollection()
};
try
{
var countRequest = Int32.Parse(ConfigurationManager.AppSettings["requestCount"]);
// Add a UpdateRequest for each entity to the request collection.
foreach (var entity in entities.Entities)
{
SetStateRequest request = new SetStateRequest
{
EntityMoniker = new EntityReference(entity.LogicalName, entity.Id),
State = new OptionSetValue(1),
Status = new OptionSetValue((int)Domain.Enum.EnumStatusTicket.Nao_sorteado)
};
multipleRequest.Requests.Add(request);
if (multipleRequest.Requests.Count == countRequest || entity == entities.Entities.Last())
{
if (service.OrganizationServiceProxy == null)
{
service = FactoryGetService.AccessTokenGeneratorAsync();
}
ExecuteMultipleResponse multipleResponse = (ExecuteMultipleResponse)service.Execute(multipleRequest);
multipleRequest = new ExecuteMultipleRequest()
{
// Assign settings that define execution behavior: continue on error, return responses.
Settings = new ExecuteMultipleSettings()
{
ContinueOnError = false,
ReturnResponses = true
},
// Create an empty organization request collection.
Requests = new OrganizationRequestCollection()
};
}
}
return true;
}
catch (Exception)
{
throw;
}
}