Execution of Microsoft Dynamics CRM 3.0 Callouts
[Applies to: Microsoft Dynamics CRM 4.0]
Microsoft Dynamics CRM 4.0 maintains backward compatibility with callouts developed for Microsoft Dynamics CRM 3.0. At run time, the Event Execution Pipeline first executes any plug-ins that are registered in a given pipeline stage before executing any Microsoft Dynamics CRM 3.0 callouts registered in that same stage.
The callout method return values of PreCalloutReturnValue.Continue, PreCalloutReturnValue.Abort, and PreCalloutReturnValue.Stop are supported. However, a Stop is now equivalent to an Abort except that a standard error message is displayed to the user instead of a custom message. Also, returning a Stop or Abort from a callout has no effect on the execution of any registered plug-ins because all plug-ins are executed before any registered callouts are executed.
The onerror attribute of the subscription tag in the callout configuration file (callout.config.xml) is not supported by Microsoft Dynamics CRM 4.0. If a callout throws an exception or allows an exception to be passed back to the platform, the exception message is displayed in a dialog of the Web application even if onerror="ignore" is specified in the callout configuration file. For more information, see the Microsoft.Crm.Callout.PreCalloutReturnValue topic in the Microsoft Dynamics CRM 3.0 SDK.
A limitation of using Microsoft Dynamics CRM 3.0 callouts is that the callouts are not able to take advantage of any new Microsoft Dynamics CRM 4.0 capabilities such as asynchronous execution, database deployment, rich plug-in context, and infinite loop detection.
Although every effort is made to maintain backward compatibility with Microsoft Dynamics CRM 3.0 .NET Framework assemblies, this programming model is deprecated in Microsoft Dynamics CRM 4.0. If you must change a plug-in or workflow .NET assembly from an earlier version of Microsoft Dynamics CRM, you should upgrade the code to use the new Microsoft Dynamics CRM 4.0 event model to avoid issues with versioning. If you do not do this, you may have issues with plug-ins and workflows, such as failure to run or registration failure.
For more information about how to develop and register Microsoft Dynamics CRM 3.0 callouts, see the Microsoft Dynamics CRM 3.0 SDK.
© 2010 Microsoft Corporation. All rights reserved.