Транзакции, поддерживаемые в Microsoft Dynamics CRM 2013 (CRM-Webservice)

Я разрабатываю новое программное обеспечение (настольное приложение), в котором я получаю доступ к MS CRM 2013 через CRM-WebService.

Поскольку существует множество задач, в которых некоторые операции могут завершиться неудачно, я хотел бы использовать транзакции в доступе к веб-сервису, чтобы предотвратить проблемы с целостностью данных.

Как читается здесь: Поддерживает ли веб-служба MSCRM транзакции с базой данных?, он не поддерживался в CRM 4.0. И я не знаю, было ли это уже реализовано в CRM 2011?

Не могли бы вы помочь мне, поддерживает ли новая реализация crm-webservice транзакционные CRUD.


person Karl    schedule 29.01.2014    source источник


Ответы (1)


Оно делает. В моде. Наверное, не так, как вы ожидаете.

При написании подключаемых модулей изменения данных в конвейере выполнения содержатся в транзакции и откатываются в случае ошибки.

При написании другого кода SDK вы можете написать его псевдотранзакционным способом. Вы можете объединить свои операции в одну ExecuteMultipleRequest операцию с необязательным ContinueOnError.

person John Rogerson    schedule 29.01.2014
comment
Только что прочитал еще об этом. ExecuteMultipleRequest не поддерживает транзакции, но вы могли бы сообразить, поместив связанные операции в один запрос и очистив их в случае сбоя. В этой статье блога довольно хорошо объясняется его механизм ... blogs.msdn.com/b/thecrmguys/archive/2013/01/09/ - person John Rogerson; 29.01.2014
comment
Джон, это действительно интересная статья для повышения вашей производительности, но она не позволяет вам реализовать «логику транзакций». Мне было интересно, что вы имели в виду ... очистка при неудаче ... Что, если были выполнены некоторые запросы на создание, и вам не разрешено удалять записи CRM? Как будешь откатывать обновления? - person Bram Van Strydonck; 11.02.2015