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