New to Telerik Reporting? Download free 30-day trial

processing Element

The Processing element specifies the configuration settings that will be applied during the processing of the report.

<processing> element

Attributes cacheDefinitionProperties - optional boolean attribute. Determines if the report definition properties will be cached during the processing, making them immutable.
Child elements resourceResolver – optional element. Changes the behavior of the default resource resolving mechanism. Only one resourceResolver element can be used in the <processing> element.
Parent element Telerik.Reporting - specifies the root element of the Telerik Reporting configuration settings. Only one <processing> element can be used in the Telerik.Reporting element.

Example

XML-based configuration file:

<Telerik.Reporting>
    <processing cacheDefinitionProperties="false">
        <!--The element below represents a Path resource resolver:-->
        <!--<resourceResolver provider="path">
            <parameters>
                <parameter name="directory" value="c:\\CommonResourcesDirectory\\" />
            </parameters>
        </resourceResolver>-->
        <!-- The element below represents a custom implementation of resource resolver:-->
        <resourceResolver provider="custom">
            <parameters>
                <parameter name="typeName" value="CustomResourceResolver.RawDataResourceResolver, CustomResourceResolver" />
                <parameter name="constructorParameter1" value="constructorParameterValue1" />
            </parameters>
        </resourceResolver>
    </processing>
</Telerik.Reporting>

JSON-based configuration file:

"telerikReporting": {
    "processing": {
        "cacheDefinitionProperties": "false",
        "resourceResolver": {
            // The element below represents a Path resource resolver:
            //"provider": "path",
            //"parameters": [
            //  {
            //      "name": "directory",
            //      "value": "C:\\Temp\\RestServiceStorage"
            //  }
            //]
            // The element below represents a custom implementation of resource resolver:
            "provider": "custom",
            "parameters": [
                {
                    "name": "typeName",
                    "value": "CustomResourceResolver.RawDataResourceResolver, CustomResourceResolver"
                },
                {
                    "name": "constructorParameter1",
                    "value": "constructorParameterValue1"
                }
            ]
        }
    }
}

CacheDefinitionProperties

We provide a mechanism for caching the report definition properties that boosts the performance. Naturally it prevents modifying the report during processing stage. The default value of the property is True.

Basically, the Report Events are not intended to be used to modify the report definition, as explained in the Understanding Events article. For that reason, in R3 2016 (10.2.16.914) for performance reasons, we introduced a change - cacheDefinitionProperties which caches the report definition properties, so such modifications are not respected. Setting the cacheDefinitionProperties to false will skip the definition item properties caching, which will allow the report definition to be changed in the report events. This may result in parformance penalty though.

Starting with R3 2022 SP1 (16.2.22.1109) CacheDefinitionProperties was exposed as a Report definition property in the ReportEngineSettings properties collecction, so that you may specify it per Report. The property value may be set to Default, True, or False. The Default, which is the default value, lets you specify that the Reporting engine should respect the cacheDefinitionProperties set in its configuration on the project level.

ResourceResolver

resourceResolver element allows to alter the default resource-resolving mechanism. This element determines what instance of the Telerik.Reporting.Interfaces.IResourceResolver interface will be used by the processing engine to resolve the resources that are specified in the report definition. Such resources are:

This ResourceResolver is intended to be used in scenarios where the resources are not retrieved from a local file path but rather obtained from a different type of storage. As an example, Telerik Report Server persists its assets in a storage that can be file-based or can use a MSSQL or Redis database as a backend. Processing a report definition that has relative paths to its resources would not work in this scenario, unless the necessary resources are not placed in folders relative to the root of the Telerik Report Server web application. The custom resource resolver can be used here to provide specific logic that will retrieve the necessary resources as byte arrays using the resource identifier from the report definition.

<resourceResolver> element

Attributes provider – required string attribute. Determines the provider type of the ResourceResolver instance. Only two types are supported:
  • path - Specifies to use an internal ResourceResolver instance that will resolve the resources from a given directory specified in the <parameters> element.
  • custom - Specifies to use a custom ResourceResolver instance that implements Telerik.Reporting.Interfaces.IResourceResolver interface. It will be instantiated at runtime from the type name specified in the <parameters> element.
Child elements parameters – specifies a collection of parameters for the resource resolver in the <resourceResolver> element. Only one parameters element can be used in the <resourceResolver> element.
Supported parameters for path provider
  • name : directory
  • value : the path to the directory that contains the resources to be resolved.
Supported parameters for custom providerThe parameters collection of the custom provider can contain additional entries that will be passed to the constructor of the type. If no additional parameters are specified, the parameterless constructor will be used.
Parent element processing - specifies the parent element of the Telerik Reporting configuration settings.

See Also

In this article