Операция открытия не завершена в течение заданного времени ожидания 00:01:00 - AX 2012 с использованием AIF/WCF
У меня проблема с AIF
в AX 2012
когда он имеет дело с большим количеством данных, что занимает много времени. Я использую адаптер NetTCP
и у меня возникает следующее исключение при использовании веб-службы с использованием приложения WebForm.
The open operation did not complete within the allotted timeout of 00:01:00.
The time allotted to this operation may have been a portion of a longer timeout.
InnerException:The socket transfer timed out after 00:00:59.9990234. You have exceeded the timeout set on your binding.
The time allotted to this operation may have been a portion of a longer timeout.
InnerException:A connection attempt failed because the connected party did not properly respond after a period of time,
or established connection failed because connected host has failed to respond
Код приложения в основном (я даже открываю и закрываю соединение в каждом цикле), как в теме Сообщение об ошибке: Операция открытия не завершена в течение выделенного времени ожидания:
public void CreateFromCSVFile(Stream fileStream)
{
ExportingData_Test.VendVendServices.VendTableServiceClient VenSvcClient = new VendTableServiceClient();
try
{
List<string[]> VendData = Helper.ImportCSVFile.ParseCSVFile(fileStream, true);
foreach (string[] vendor in VendData)
{
VenSvcClient = new VendTableServiceClient();
VenSvcClient.Endpoint.Binding.OpenTimeout = new TimeSpan(0, 1, 10, 0);
VenSvcClient.Endpoint.Binding.ReceiveTimeout = new TimeSpan(0, 1, 10, 0);
VenSvcClient.Endpoint.Binding.SendTimeout = new TimeSpan(0, 1, 10, 0);
VenSvcClient.Endpoint.Binding.CloseTimeout = new TimeSpan(0, 1, 10, 0);
VenSvcClient.Open();
//DO SOME OPERATION IN HERE
//Create the Vendor
entityKey = VenSvcClient.create(callContext, axdVendor);
VenSvcClient.Close();
}
}
catch (Exception ex)
{
String message = ex.Message;
}
finally
{
VenSvcClient.Close();
}
}
Я попытался настроить расширенный порт с помощью редактора конфигурации служб Microsoft, который используется для настройки WCF, увеличивая большинство свойств:
В хосте:
- CloseTimeout до 00:10:00
- OpenTimeout до 00:10:00
В привязках:
- MaxReceivedMessageSize до 1004857600. как здесь рекомендовано.
- MaxBufferSize до 1004857600.
- MaxBufferPoolSize до 1004857600.
- ReceivedTimeout 01:10:00
- SendTimeout 01:10:00
- MaxBytesPerRead 1004857600
- InactivityTimeout 01:10:00
- ReliableSessionProperty false
Но я все еще получаю ту же ошибку.
1 ответ
Та же ошибка упоминается здесь.
Но совет заключается в том, чтобы отредактировать параметры ReceiveTimeout и SendTimeout с помощью редактора конфигурации службы Microsoft WCF, что вы, возможно, и сделали. Может быть, дважды проверьте, что вы попали в правильные порты.