When implementing the REST Report service you need to provide an IStorage interface implementation. The provided object will be used from the service in order to store the internal state (like active clients, interactivity state, rendered reports). It exposes the AcquireLock(String) method which guaranties the serialized state access
The interface implementation must be considered with the hosting of the project having the Reporting REST Service.
The following implementations of the IStorage interface allow the service multiple instances support.
The following implementations of the IStorage interface require the service to be deployed as a single instance.
File cache - Use the FileStorage method in order to create a cache object instance. All Visual Studio item templates for adding the Reporting REST service use the default FileStorage constructor. The second overload of the FileStorage constructor allows you to specify a folder, and it is recommended for usage in production environment.
Database cache - Use the DatabaseStorage method in order to create a cache object instance. This storage option requires reference to Telerik.Reporting.Cache.Database.dll that has dependencies on Telerik Data Access which can be checked in the version corresponding Upgrade article;