I wanted to confirm my understanding on managing transactions in Dynamics CRM and check if I am missing something.
1) Transactions in CRM Plugins: The plugins registered in the Stage 20 and 40 of the Event Pipeline run under DB transaction. So if I have three plugins registered on pre/post operation of any message and if the third plugin throws an exception, the changes done by the first two plugins would also be rolled back. Is this understanding correct?
2) Transactions in CRM Web Service: In case of writing code with CRM Web Services, I can make use ExecuteTransactionRequest request and all the request messages provided with this message would run under one CRM DB transaction. This message seems to be introduced in 2016 version so what would be the ideal way to handle such scenarios prior to 2016?