Skip to content

Commit

Permalink
Redis dependencies (#1534)
Browse files Browse the repository at this point in the history
* Update Redis dependencies

* Update how-to-use-redis-storage.md

* Update reporting-rest-service-with-redisstorage-returns-error-500-to-requests.md

* Update included-assemblies.md
  • Loading branch information
mzanev authored Nov 12, 2024
1 parent 9989632 commit 3d8722f
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ tags: restreportservice,element
published: True
position: 5
previous_url: /configuring-telerik-reporting-restreportservice

---
<style>
table th:first-of-type {
Expand Down Expand Up @@ -56,7 +57,7 @@ __`<storage>` element__

| | |
| ------ | ------ |
|Attributes|<ul><li>__provider__<ul><li>__redis__ or __redis2__ if you are using __StackExchange.Redis__ version 2.0 and greater <ul><li>__configuration__ - string parameter. The [Redis configuration string](https://stackexchange.github.io/StackExchange.Redis/Configuration). </li><li>__databaseNumber__ - optional integer parameter. Determines the number of the database that should be used.</li></ul></li><li>__msSqlServer__<ul><li>__connectionString__ - string parameter. The connection string to the backend storage.</li><li>__commandTimeout__ - optional integer parameter. Determines the CommandTimeout that will be used when executing database commands, in seconds. The default value is 30.</li></ul></li><li>__file__<ul><li>__directory__ - optional string parameter. The directory which will contain the files representing the stored values.</li></ul></li><li>__database__<ul><li>__backendName__ - string parameter. Specifies which database engine should be used.</li><li>__connectionString__ - string parameter. A connection string that should be used to connect to the cache database.</li></ul></li></ul></li></ul>|
|Attributes|<ul><li>__provider__<ul><li>__redis__<ul><li>__configuration__ - string parameter. The [Redis configuration string](https://stackexchange.github.io/StackExchange.Redis/Configuration). </li><li>__databaseNumber__ - optional integer parameter. Determines the number of the database that should be used.</li></ul></li><li>__msSqlServer__<ul><li>__connectionString__ - string parameter. The connection string to the backend storage.</li><li>__commandTimeout__ - optional integer parameter. Determines the CommandTimeout that will be used when executing database commands, in seconds. The default value is 30.</li></ul></li><li>__file__<ul><li>__directory__ - optional string parameter. The directory which will contain the files representing the stored values.</li></ul></li><li>__database__<ul><li>__backendName__ - string parameter. Specifies which database engine should be used.</li><li>__connectionString__ - string parameter. A connection string that should be used to connect to the cache database.</li></ul></li></ul></li></ul>|
|Child elements|__parameters__ – specifies a collection of parameters for the current provider. Only one __parameters__ child element can be used in the __provider__ parent element.|
|Parent element|__restReportService__|

Expand All @@ -81,12 +82,6 @@ XML-based configuration file:
<parameter name="databaseNumber" value="1" />
</parameters>
</storage>-->
<!--<storage provider="Redis2"> Used for StackExchange.Redis version 2.0+
<parameters>
<parameter name="configuration" value="localhost:10001" />
<parameter name="databaseNumber" value="1" />
</parameters>
</storage>-->
<!--<storage provider="MSSQLServer">
<parameters>
<parameter name="connectionString" value="Data Source=(local)\SQLEXPRESS;Initial Catalog=RestServiceStorage;Integrated Security=SSPI" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,19 @@ This article explains how to use [Redis Storage](https://redis.io/) for the Repo

## Adding the necessary dependencies

Telerik Reporting uses __StackExchange.Redis__ client library to access a Redis database. When adding a reference to `Telerik.Reporting.Cache.StackExchangeRedis`, the version of StackExchange.Redis client must be considered, because version 2.0+ introduces breaking changes and is not compatible with previous versions.

* `Telerik.Reporting.Cache.StackExchangeRedis` assembly depends on StackExchange.Redis.StrongName version 1.0.320 up to version 1.2.7.
* `Telerik.Reporting.Cache.StackExchangeRedis.2` depends on StackExchange.Redis version 2.6.122 or greater. It is built against.NET Standard 2.0 and it can be used in projects targeting.NET Framework 4.6.1+ or.NET Core 2.0+
The `Telerik.Reporting.Cache.StackExchangeRedis` assembly is required for Telerik Reporting to access a Redis database. This assembly uses the __StackExchange.Redis__ client library.

### Using the Telerik NuGet repository:

Add NuGet package reference to `Telerik.Reporting.Cache.StackExchangeRedis` or `Telerik.Reporting.Cache.StackExchangeRedis.2` package from the https://nuget.telerik.com/v3/index.json package source (Telerik credentials, or [Telerik NuGet key](https://www.telerik.com/blogs/announcing-nuget-keys), needed). For details, check [How to add the Telerik private NuGet feed to Visual Studio]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}).
Add a NuGet package reference to the `Telerik.Reporting.Cache.StackExchangeRedis` package from the https://nuget.telerik.com/v3/index.json package source (Telerik credentials, or [Telerik NuGet key](https://www.telerik.com/blogs/announcing-nuget-keys), needed). For details, check [How to add the Telerik private NuGet feed to Visual Studio]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}).

### Using the Telerik Reporting installation bin folder:

1. For projects using StackExchange.Redis.StrongName version 1.0.320 up to version 1.2.7:

+ In your application project add reference to the [StackExchange.Redis.StrongName](https://www.nuget.org/packages/StackExchange.Redis.StrongName) (not to be mistaken with StackExchange.Redis) NuGet package with version 1.0.320 or greater. This will add a dll reference to StackExchange.Redis.StrongName.dll version 1.0.316.0 or greater.

>When using greater version, a [binding redirect](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/bindingredirect-element) should be added in the application configuration file to the currently referenced dll version.

+ Add reference to the `Telerik.Reporting.Cache.StackExchangeRedis` library located in the {Telerik Reportng installation folder}/Bin folder.

1. For projects using StackExchange.Redis version 2.6.122 or greater:

+ In your application project add reference to the [StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis) NuGet package with version 2.6.122 or greater. This will add a dll reference to StackExchange.Redis.dll.
1. In your application project add reference to the [StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis) NuGet package with version 2.8.16 or greater. This will add a dll reference to StackExchange.Redis.dll.

>When using greater version, a [binding redirect](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/bindingredirect-element) should be added in the application configuration file to the currently referenced dll version.
>When using greater version, a [binding redirect](https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/bindingredirect-element) should be added in the application configuration file to the currently referenced dll version.

+ Add reference to the `Telerik.Reporting.Cache.StackExchangeRedis.2` library located in the {Telerik Reportng installation folder}/Bin/netstandard2.0 folder.
1. Add а reference to the `Telerik.Reporting.Cache.StackExchangeRedis` library located in the `{Telerik Reportng installation folder}/Bin` or `{Telerik Reportng installation folder}/Bin/netstandard2.0` folder, depending on whether you have a .NET Framework or a .NET project respectively.

## Using the Redis storage

Expand Down
2 changes: 1 addition & 1 deletion getting-started/installation/included-assemblies.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The following table describes the folder structure for the Telerik Reporting mai
| Directory | Description |
| ------ | ------ |
|`...Progress\Telerik Reporting {{site.suiteversion}}\Bin`|<ul><li>`Telerik.Reporting.dll`</li><li>`Telerik.ReportViewer.Mvc.dll`</li><li>`Telerik.ReportViewer.WebForms.dll`</li><li>`Telerik.ReportViewer.WinForms.dll`</li><li>`Telerik.ReportViewer.Wpf.dll`</li><li>`Telerik.Reporting.Adomd.dll`</li><li>`Telerik.Reporting.Services.ServiceStack.dll`</li><li>`Telerik.Reporting.Services.WebApi.dll`</li><li>`Telerik.Reporting.XpsRendering.dll`</li><li>`Telerik.Reporting.OpenXmlRendering.dll`</li><li>`Telerik.Reporting.Cache.Database.dll`</li></ul>|
|`...Progress\Telerik Reporting {{site.suiteversion}}\Bin\netstandard2.0`|<ul><li>`Telerik.Reporting.dll`</li><li>`Telerik.WebReportDesigner.Services.dll`</li><li>`Telerik.ReportViewer.Blazor.dll`</li><li>`Telerik.Reporting.WebServiceDataSource.dll`</li><li>`Telerik.Reporting.Services.HttpClient.dll`</li><li>`Telerik.Reporting.Services.AspNetCore.dll`</li><li>`Telerik.Reporting.OpenXmlRendering.2.7.2.dll`</li><li>`Telerik.Reporting.OpenXmlRendering.3.0.1.dll`</li><li>`Telerik.Reporting.JsonSerialization.dll`</li><li>`Telerik.Reporting.Data.Schema.dll`</li><li>`Telerik.Reporting.Cache.StackExchangeRedis.dll`</li><li>`Telerik.Reporting.Cache.StackExchangeRedis.2.dll`</li></ul>|
|`...Progress\Telerik Reporting {{site.suiteversion}}\Bin\netstandard2.0`|<ul><li>`Telerik.Reporting.dll`</li><li>`Telerik.WebReportDesigner.Services.dll`</li><li>`Telerik.ReportViewer.Blazor.dll`</li><li>`Telerik.Reporting.WebServiceDataSource.dll`</li><li>`Telerik.Reporting.Services.HttpClient.dll`</li><li>`Telerik.Reporting.Services.AspNetCore.dll`</li><li>`Telerik.Reporting.OpenXmlRendering.2.7.2.dll`</li><li>`Telerik.Reporting.OpenXmlRendering.3.0.1.dll`</li><li>`Telerik.Reporting.JsonSerialization.dll`</li><li>`Telerik.Reporting.Data.Schema.dll`</li><li>`Telerik.Reporting.Cache.StackExchangeRedis.dll`</li></ul>|
|`...Progress\Telerik Reporting {{site.suiteversion}}\Bin\net6.0`|<ul><li>`Telerik.WebReportDesigner.Services.dll`</li><li>`Telerik.Reporting.Services.AspNetCore.dll`</li></ul>|
|`...Progress\Telerik Reporting {{site.suiteversion}}\Bin\net6.0-windows`|<ul><li>`Telerik.ReportViewer.WinForms.dll`</li><li>`Telerik.ReportViewer.Wpf.dll`</li><li>`Telerik.ReportViewer.Wpf.Themes.dll`</li><li>`Telerik.ReportViewer.WinUI.dll`</li><li>`Telerik.ReportViewer.WinUI.Themes.dll`</li><li>`Telerik.WinUI.Controls\`</li></ul>|
|`...Progress\Telerik Reporting {{site.suiteversion}}\Bin\net8.0`|<ul><li>`Telerik.WebReportDesigner.Services.dll`</li><li>`Telerik.Reporting.Services.AspNetCore.dll`</li></ul>|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ End Class

## Notes

The Redis storage requires *StackExchange.Redis.StrongName.dll*,and *Telerik.Reporting.Cache.StackExchangeRedis.dll* built against *StackExchange.Redis.StrongName.dll v1.0.316.0*.
If you use a newer version of *StackExchange.Redis.StrongName.dll*, you will need a [binding redirect](https://msdn.microsoft.com/en-us/library/eftw1fys%28v=vs.110%29.aspx) for the assembly in the Reporting REST service project's configuration file.
The Redis storage requires *StackExchange.Redis.dll*, and *Telerik.Reporting.Cache.StackExchangeRedis.dll* built against *StackExchange.Redis.dll v2.8.16*.
If you use a newer version of *StackExchange.Redis.dll*, you will need a [binding redirect](https://msdn.microsoft.com/en-us/library/eftw1fys%28v=vs.110%29.aspx) for the assembly in the Reporting REST service project's configuration file.

## See Also

Expand Down

0 comments on commit 3d8722f

Please sign in to comment.