358 документов
← К списку

Длительные операции на клиенте

страница

#std755

Область применения: управляемое приложение.

Следует избегать длительного выполнения клиентского кода, помимо длительных вызовов серверного кода из клиентского (см. «Длительные операции на сервере»), т.к. это приводит к ощутимым задержкам при работе с программой или даже к зависанию. Не следует выполнять потенциально длительные операции (такие как: обращение к сетевым ресурсам, «тяжелые» алгоритмы обработки данных на клиенте) в обработчиках ожидания и обработчиках событий элементов форм.

Длительные клиентские операции допустимо выполнять, только когда пользователь инициирует их явным образом (например, нажатием на кнопку).

Пример 1

Неправильно:

В обработчике ожидания обращаться к веб сервису для получения информации об обновлениях.

Правильно:

Получать информацию об обновлениях только при нажатии на кнопку, либо перенести получение информации об обновлениях на сервер:

  • В регламентном задании получать информацию об обновлениях через веб сервис и сохранять полученную информацию, например, в регистре;

  • В обработчике ожидания зачитывать уже полученную информацию об обновлении при помощи легкого запроса к регистру.

Пример 2

Неправильно:

Проверять доступность сетевого ресурса в обработчике события ПриИзменении поля формы, в котором вводится путь к этому сетевому ресурсу.

Правильно:

Проверять доступность сетевого ресурса в обработчике команды, которая выведена в интерфейс, например, в виде кнопки Проверить.