Я пытаюсь переместить большой кучу сообщений в другую папку, и операция занимает приблизительно 5-8 минут, зависит от местоположения серверов и количества элементов для перемещения. И я всегда получаю ошибку (504) Gateway Timeout
, с трассировки стека:Увеличьте время ожидания для ответа от веб-сервера Exchange
Microsoft.Exchange.WebServices.Data.ServiceRequestException: The request failed. The remote server returned an error: (504) Gateway Timeout. ---> System.Net.WebException: The remote server returned an error: (504) Gateway Timeout.
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse()
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
--- End of inner exception stack trace ---
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& request)
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.InternalMoveItems(IEnumerable`1 itemIds, FolderId destinationFolderId, Nullable`1 returnNewItemIds, ServiceErrorHandling errorHandling)
at Microsoft.Exchange.WebServices.Data.ExchangeService.MoveItems(IEnumerable`1 itemIds, FolderId destinationFolderId)
at EAS.Exchange.ExchangeProvider.MoveItemsToFolder(String folderUniqueId, String[] itemUniqueIds)
Я пытался увеличить тайм-аут для ExchangeService
:
var ews = new Microsoft.Exchange.WebServices.Data.ExchangeService();
ews.Timeout = 900000; // 15 minutes in milliseconds
, но это не решает проблему. Кстати, операция успешно завершается на EWS, после чего все элементы перемещаются.
Не могли бы вы порекомендовать другое возможное решение, как исправить эту проблему?
ли ваше приложение размещается на IIS? – MadDev
Вы пытались переместить их в меньшие партии –
@GlenScales меньшие партии работают нормально. Если я не найду возможное решение с расширением тайм-аута, я буду использовать подход с многопоточной обработкой. –