<style>
table th:first-of-type {
	width: 15%;
}
table th:nth-of-type(2) {
	width: 85%;
}
</style>

# Report Engine Configuration Overview

Particular settings can be applied to the Telerik Reporting engine to influence its behavior or extend it. These are defined in the application's configuration file. For **Windows and WPF applications** the configuration file is called `app.config`, for **ASP.NET Framework applications** – `web.config`. This configuration file is XML-based and its content is divided into sections.

On the other hand, **.NET Core applications** provide another way of storing configuration - a key-value JSON-based file named `appsettings.json`. For **.NET Core console applications** both configuration types are supported, but **appsettings.json** has precedence over **app.config**. **ASP.NET Core applications** no longer use *web.config* so the configuration should be set to any of the supported [key-value-based files](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-7.0).

> For more information about configuring a **.NET** application, see [Configuring Apps by using Configuration Files](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/).

## Telerik Reporting Configuration Layout

**Telerik Reporting root element**

The root element of the configuration is named `<Telerik.Reporting>` in XML-based configuration files and `"telerikReporting"` in JSON-based configuration files. All the settings of the Reporting engine are nested in this root element.

| Category       | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Attributes     | No attributes are defined for this element                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Child elements | [extensions Element](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-report-engine/extensions-element)- specifies a collection of extensions, for which the configuration is applied<br/>[cache Element](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-report-engine/cache-element)- specifies the configuration settings for the cache management system which is utilized by the viewers to store and cache rendered pages and resources.<br/>[restReportService Element](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-report-engine/restreportservice-element)- specifies the configuration settings for the REST report service.<br/>[assemblyReferences Element](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-report-engine/assemblyreferences-element)- specifies a collection of assembly references that are used from Reporting Engine during processing stage to resolve names of user functions and user aggregate functions.<br/>[privateFonts Element](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-report-engine/privatefonts-element)- specifies a collection that allows the Reporting Engine to use a private version of a font without installing the font on the host machine. This element is **mandatory** for rendering PDF files on Linux in a .Net Core application.<br/>[appData Element](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-report-engine/appdata-element)- specifies the configuration settings for the temporary application data stored on the machine.<br/>[dpiAware Element](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-report-engine/dpiaware-element)- specifies the application's DPI awareness setting which affects the reports rendering. |
| Parent element | **Configuration** - Specifies the required root element in every configuration file that is used by the common language runtime and the .NET Framework applications. Only one Telerik.Reporting element can be used in the Configuration element.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

## XML-based Configuration

The snippets in this section show the `<Telerik.Reporting>` configuration used in XML-based configuration files like `app.config` and `web.config`.

The settings for the Telerik Reporting engine are stored in a custom configuration section called `Telerik.Reporting`. The declaration of this section has to be included in a `<configSections>` element which should be the **first child element** of `<configuration>`, like this:

```XML
<configuration>
	<configSections>
		<section name="Telerik.Reporting"
		         type="Telerik.Reporting.Configuration.ReportingConfigurationSection, Telerik.Reporting"
		         allowLocation="true"
		         allowDefinition="Everywhere"/>
	</configSections>
</configuration>
```

The custom configuration section's content:

```XML
<Telerik.Reporting>
	<extensions>
		<render>
			<extension>
				<parameters>
					<parameter/>
				</parameters>
			</extension>
		</render>
	</extensions>
	<cache>
		<providers>
			<provider>
				<parameters>
					<parameter/>
				</parameters>
			</provider>
		</providers>
	</cache>
	<processing>
		<graphicsEngine>
		</graphicsEngine>
		<resourceResolver>
			<parameters>
				<parameter/>
			</parameters>
		</resourceResolver>
		<sharedResourceResolver>
			<parameters>
				<parameter/>
			</parameters>
		</sharedResourceResolver>
	</processing>
	<restReportService>
		<reportResolver/>
		<storage>
			<parameters>
				<parameter/>
			</parameters>
		</storage>
	</restReportService>
	<assemblyReferences>
		<add/>
		<clear/>
		<remove/>
	</assemblyReferences>
	<privateFonts>
		<add/>
	</privateFonts>
	<fontLibrary>
	</fontLibrary>
	<dpiAware>
	</dpiAware>
	<appData>
	</appData>
</Telerik.Reporting>
```

## JSON-based Configuration

The JSON-based configuration structure used in `appsettings.json` or other key-value-based files looks like the following:

```JSON
"telerikReporting": {
    "extensions": [
        {
            "name": null,
            "parameters": [
                {
                    "name": null,
                    "value": null
                }
            ]
        }
    ],
    "cache": {
        "provider": null,
        "providers": [
            {
                "name": null,
                "parameters": [
                    {
                        "name": null,
                        "value": null
                    }
                ]
            }
        ]
    },
    "processing": {
        "graphicsEngine": {
            "engineName": null
        },
        "cacheDefinitionProperties": null,
        "resourceResolver": {
            "provider": null,
            "parameters": [
                {
                    "name": null,
                    "value": null
                },
                {
                    "name": null,
                    "value": null
                }
            ]
        },
        "sharedDataSourceResolver": {
            "provider": null,
            "parameters": [
                {
                    "name": null,
                    "value": null
                }
            ]
        }
    },
    "restReportService": {
        "hostAppId": null,
        "workerCount": 0,
        "reportSharingTimeout": 0,
        "clientSessionTimeout": 0,
        "reportResolver": {
            "provider": null,
            "parameters": [
                {
                    "name": null,
                    "value": null
                }
            ]
        },
        "storage": {
            "provider": null,
            "parameters": [
                {
                    "name": null,
                    "value": null
                }
            ]
        }
    },
    "assemblyReferences": [
        {
            "name": null,
            "version": null,
            "culture": null
        }
    ],
    "privateFonts": [
        {
            "fontFamily": null,
            "path": null,
            "fontStyle": null
        }
    ],
    "fontLibrary": {
        "useDefaultLocations": true,
        "fontLocations": [
            {
                "path": null,
                "searchSubfolders": null
            }
        ]
    },
    "dpiAware": {
        "dpiAwareness": null
    },
    "appData": {
        "path": null
    }
}
```

## See Also

* [Device Information Settings](https://www.telerik.com/products/reporting/documentation/doc-output/configure-the-export-formats/overview)
* [Configuring Cache](https://www.telerik.com/products/reporting/documentation/embedding-reports/cache-management/configuring-cache)
