Улучшение производительности вызовов веб-сервисов в динамике CRM 2013
Я работаю с MS Dynamics CRM 2013. Я создал HTML-ресурс и включил его в одну из форм сущностей. Этот веб-ресурс содержит метод Javascript, который вызывает внешний сторонний веб-сервис и извлекает из него данные.
Я использовал метод jquery ajax для вызова веб-службы, однако для загрузки всей формы этой сущности CRM требуется время. Пользовательский интерфейс становится непригодным на несколько секунд.
Можем ли мы улучшить производительность в этом аспекте?
1 ответ
Если вы звоните в службу синхронно, не делайте этого, если только у вас нет для этого веской причины. Сделайте работу с возвращенными данными в обратном вызове или лучше используйте обещание jQuery.
Сам сервис медленный? Измерьте время ожидания первого байта (TTFB), если оно слишком велико, сама служба работает медленно. В среде разработчиков это может быть связано с тем, что к службе не обращаются, и если она размещена в IIS, пул приложений будет переработан. Таким образом, каждый первоначальный запрос оплачивает стоимость прогрева. Если форма также выполняет большую работу над нагрузкой, которая не зависит от данных из службы, еще более важно разрешить ее параллельное выполнение, вызывая службу асинхронно.