AX 2012 SSRS Выберите, какой дизайн открыть

Стороной, которая была инициирована закрытие соединения, является та, которая заканчивается в состоянии TIME_WAIT. read() возврат 0 должен указывать на то, что сервер сначала закрыл сокет, так что да - это должно означать, что TIME_WAIT заканчивается на стороне сервера, а клиент проходит через LAST_ACK.

В конце дня вы не можете избежать состояния TIME_WAIT. Даже если вам удастся перенести его с сервера на сервер, вы все равно не сможете повторно использовать этот кортеж (server host, server port, client host, client port) до тех пор, пока TIME_WAIT не закончится (независимо от того, на какой стороне он включен).

Так как три части этого кортежа зафиксированы в вашем сценарии (server host, server port, client host), у вас действительно есть только такие опции:

  • Попытайтесь сделать доступными больше портов клиента , Некоторые операционные системы используют только небольшой диапазон доступных портов для «эфемерных портов» по ​​умолчанию (я не уверен в OSX в этом отношении). Если это так, посмотрите, можете ли вы изменить диапазон с настройкой конфигурации в ОС или, альтернативно, запустить приложение для рабочего порта с bind() / connect() в цикле до тех пор, пока соединение не будет работать.
  • Расширьте количество доступных client host значений, используя несколько IP-адресов на вашем клиенте. Вы должны будете иметь приложение bind() к одному из этих IP-адресов, особенно.
  • Расширить количество доступных server host / server port значений, используя несколько портов и / или IP-адреса на сервере.
  • Вероятно, лучший вариант, если это выполнимо: отредактируйте свой протокол, чтобы завершившиеся соединения не были закрыты, но клиент должен выбрать один для подключения к нему (round robin, random и т. Д.). перейдите в «незанятое» состояние, чтобы их можно было повторно использовать позже, вместо того, чтобы открывать новое соединение (например, HTTP keep-alive).
1
задан Alex Kwitny 18 January 2019 в 16:13
поделиться

1 ответ

Да, вы просто добавляете логику и можете указать дизайн с помощью этого метода:

https://docs.microsoft.com/en-us/dynamicsax-2012/appuser- itpro / how-to-указать-a-report-design-by-using-x-morphx-reports-tools

Более распространенным соглашением является использование ssrsReportStr([SSRSReport],[Design]), и вы можете увидеть пример здесь: \Classes\AgreementConfirmController\main

0
ответ дан Alex Kwitny 18 January 2019 в 16:13
поделиться