При разработке синхронной плагин для "Microsoft Dynamics CRM 2015 Update 1 Online" Я использую ExecuteMultipleRequest
создать несколько записей сущностей. Когда я тестирую подключаемый модуль в CRM, появляется сообщение об ошибке, в котором говорится, что «Тайм-аут SQL истек».
Если я заменил ExecuteMultipleRequest
на service.Create(...)
, вызываемый в цикле, он отлично работает. Он также отлично работает, если я изменяю тип подключаемого модуля от синхронного до асинхронного без замены ExecuteMultipleRequest
.
Кто-нибудь знает, что может быть причиной проблемы с таймаутом SQL в синхронном подключаемом модуле?
Спасибо.ExecuteMultipleRequest - SQL Timeout Expired - Microsoft Dynamics CRM 2015
ответ
Dynamics CRM online ограничен установкой по умолчанию за 2 минуты до истечения таймаута. Это означает, что более крупные процессы в одной операции с плагином подвержены таймауту.
Ниже приведен список опций:
- Обзора код для повышения производительности
- Перемещения тяжелой операции от родителя к записи дочернего объекта
- Создания очереди объекта с типом и операциями который будет срабатывать операцию для каждой записи объекта индивидуально
УДАЧИ
Cheers
Я бы не рекомендовал использовать ExecuteMultipleRequest из плагина. Вы уже на сервере в тот момент времени и поэтому не получаете каких-либо преимуществ от использования ExecuteMultipleRequest (из моего собственного тестирования я не видел улучшения производительности, если у вас есть данные, которые говорят иначе, будут любить чтобы увидеть это). Вы также сталкиваетесь с потенциальной проблемой отказа запроса, since CRM limits the number of concurrent ExecuteMultipleRequests that are executing.
Спасибо за ваш ответ и совет. Да, я нахожусь на сервере, но плагин работает через службу, поэтому он звонит на него, не лучше ли сделать один звонок вместо многих? Поправьте меня, если я ошибаюсь. Во всяком случае, это хорошая рекомендация не использовать его в подключаемом модуле, особенно если он работает часто, поэтому может быть достигнут предел, который может вызвать проблему. – Alex
Вы сами можете определить, является ли это «лучше». Я не думаю, что запросы из одного и того же плагина выполняются на разных серверах. Я верю, что он выполняется на том же сервере, поэтому нет никакой выгоды от одного запроса к нескольким. – Daryl
Я вижу вашу точку зрения, спасибо @Daryl – Alex
- 1. Настройка SDK для Microsoft Dynamics CRM 2015
- 2. SQL Server Timeout Expired `
- 3. Dynamics CRM 2015 Значения импорта
- 4. Microsoft Dynamics CRM 2016
- 5. Microsoft Dynamics CRM 2011
- 6. Microsoft Dynamics CRM API
- 7. Сайт Microsoft Dynamics CRM
- 8. Идентификация организации Microsoft Dynamics CRM
- 9. CRM Dynamics 2015 IFrame Communication
- 10. Как работает расчетное поле Microsoft Dynamics CRM 2015?
- 11. Microsoft Dynamics CRM: экспортное решение с 2015 по 2013 год
- 12. Как добавить Comodo PositiveSSL сертификата в Microsoft Dynamics CRM 2015
- 13. Как создать поставщика в Microsoft Dynamics CRM 2015?
- 14. Microsoft Dynamics CRM 2015 - Необходимость иметь Подсеточное Поиск Фильтр
- 15. Разработка в Microsoft Dynamics CRM
- 16. System.Data.SqlClient.SqlException: Timeout expired
- 17. Microsoft Dynamics CRM on-situ Миграция в Microsoft Dynamics CRM Online
- 18. Отсутствие NavBarItems в FormXml - Microsoft Dynamics CRM
- 19. Наборы параметров Microsoft CRM 2015
- 20. Session expired before timeout
- 21. sql server timeout expired обработанные страницы
- 22. SQL timeout expired in C# code
- 23. SQL Server 2012 Экспресс Connection Timeout Expired
- 24. Microsoft CRM SQL Ошибка подключения
- 25. Catch Timeout expired from ASP
- 26. Отказ бизнес-процесса в Dynamics CRM 2015
- 27. Dynamics CRM 2015 Duplicate Row Cleanup
- 28. Как шифровать столбцы в Dynamics CRM 2015?
- 29. DocuSign for Dynamics CRM 2015 On Premise
- 30. Timer Field в CRM Dynamics 2015
Привет, Кевин, спасибо за ваш ответ. Я знаю ограничения в CRM Online, но это не так. Как я упоминал ранее, если я изменяю 'ExecuteMultipleRequest' на цикл с помощью' service.Create (...) ', он отлично работает. Плагин не является тяжелым: простые операции и создание нескольких записей. – Alex
Привет, Алекс, спасибо за ваш ответ. Не могли бы вы включить свой код и опустить всю разумную информацию? Кроме того, вы уверены, что не достигли максимального количества нескольких запросов? Вы пытались добавлять и регистрировать таймеры? –
Он не достигает предела нескольких запросов, я работаю над средой DEV, и в это время никто не работал. Возможно, я знаю, в чем проблема, этот запрос блокирует SQL-таблицы и происходит тупик. – Alex