Team,
У меня есть веб-сайт Azure, опубликованный в Azure.Приложение считывает около 30000 сотрудников из API и после успешного чтения обновляет вторичный кэш Redis со всеми 30 000 сотрудников.
Тайм-аут наступает на втором этапе, когда он обновляет вторичный кэш Redis со всеми сотрудниками.С моего местного это нормально работает.Но как только я разверну это в Azure, он даст мне
500 - The request timed out.
The web server failed to respond within the specified time
. Из блогов я узнал, что для веб-сайта Azure по умолчанию установлено время ожидания 4 минуты.
Я перепробовал все исправления, представленные в блогах, например, установил команду SCM_COMMAND_IDLE_TIMEOUT в настройках приложения на 3600.
Я даже попытался установить параметры поставщика состояния сеанса кэширования Redis-кэша Azure, как это было в web.config с завышенным тайм-аутомцифры.
<add type="Microsoft.Web.Redis.RedisSessionStateProvider" name="MySessionStateStore" host="[name].redis.cache.windows.net" port="6380" accessKey="QtFFY5pm9bhaMNd26eyfdyiB+StmFn8=" ssl="true" abortConnect="False" throwOnError="true" retryTimeoutInMilliseconds="500000" databaseId="0" applicationName="samname" connectionTimeoutInMilliseconds="500000" operationTimeoutInMilliseconds="100000" />
Код ошибки, ответственный за тайм-аут, таков: `
public void Update(ReadOnlyCollection<ColleagueReferenceDataEntity> entities)
{
//Trace.WriteLine("Updating the secondary cache with colleague data");
var secondaryCache = this.Provider.GetSecondaryCache();
foreach (var entity in entities)
{
try
{
secondaryCache.Put(entity.Id, entity);
}
catch (Exception ex)
{
// if a record fails - log and continue.
this.Logger.Error(ex, string.Format("Error updating a colleague in secondary cache: Id {0}, exception {1}", entity.Id));
}
}
}
`
Могу ли я внести какие-либо изменения в этот код?
Пожалуйста, кто-нибудь может мне помочь ... у меня закончились идеи!