Expand Minimize

Event Receivers

Provides information about event receiver artifacts

CheckId SPT656001
TypeName ReceiverInventory
Severity Information
Type Receiver

General Notes

Event receivers have to be transformed to Remote Event Receivers. This means that the actual code running when the event receiver is called is executed on a remote server. Most commonly an Azure App is used to host this event receiver but you can decide to use any hosting platform to host the service. A remote event receiver is nothing but a webservice that gets called from SharePoint server. This requires that the SharePoint server can resolve the server hosting the webservice, e.g. a machine only available on an intranet behind a firewall will not work with remote event receivers in the context of SharePoint Online.

Readiness

Analyze your solution for event receivers and convert them to remote event receivers. Due to the technology used to create remote event receivers, it is important that the server hosting the servers is very response, as the SharePoint server expects an answer within 30 seconds. If no answer, the server will call the remote event receiver service again, up to 5 times. You might want to implement some code in your remote event receiver that checks for duplicate calls in case of an event receiver that takes a while to execute.

Transformation

The transformed event receiver is basically a template webservice where we added your event receiver code as marked out C# code. Due to the complexities of transforming code from SSOM to CSOM you will need to transform those lines yourself. If the event receiver calls any additional methods, we included those methods in the transformed code too, but marked out the lines.

Disclaimer: The views and opinions expressed in this documentation and in SPCAF do not necessarily reflect the opinions and recommendations of Microsoft or any member of Microsoft. SPCAF and RENCORE are registered trademarks of Rencore. All other trademarks, service marks, collective marks, copyrights, registered names, and marks used or cited by this documentation are the property of their respective owners.