{"id":1411,"date":"2025-10-10T15:10:56","date_gmt":"2025-10-10T08:10:56","guid":{"rendered":"https:\/\/portal-atlasx.cdg.co.th\/home\/?post_type=docs&#038;p=1411"},"modified":"2025-11-12T15:16:52","modified_gmt":"2025-11-12T08:16:52","slug":"using-redis-storage-for-the-reporting-rest-service","status":"publish","type":"docs","link":"https:\/\/portal-atlasx.cdg.co.th\/home\/docs\/axws7\/telerik-reporting\/using-redis-storage-for-the-reporting-rest-service\/","title":{"rendered":"Using Redis Storage for the Reporting REST Service"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"using-redis-storage-for-the-reporting-rest-service\">Using Redis Storage for the Reporting REST Service<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07-library\">\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Library<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e41\u0e1e\u0e47\u0e01\u0e40\u0e01\u0e08\u00a0<code>Telerik.Reporting.Cache.StackExchangeRedis<\/code>\u00a0\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e41\u0e1e\u0e47\u0e01\u0e41\u0e01\u0e08\u0e19\u0e35\u0e49\u0e41\u0e25\u0e49\u0e27 \u0e08\u0e30\u0e44\u0e14\u0e49\u00a0<code>StackExchange.Redis<\/code>\u00a0\u0e21\u0e32\u0e14\u0e49\u0e27\u0e22<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&lt;Project Sdk=\"Microsoft.NET.Sdk.Web\">\n    &lt;ItemGroup>\n        ...\n        &lt;PackageReference Include=\"Telerik.Reporting.Cache.StackExchangeRedis.Trial\" Version=\"18.1.24.709\" \/> &lt;em>&lt;!-- \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49 -->&lt;\/em>\n        &lt;PackageReference Include=\"Telerik.Reporting.OpenXmlRendering3.Trial\" Version=\"18.1.24.709\" \/>\n        &lt;PackageReference Include=\"Telerik.Reporting.Services.AspNetCore.Trial\" Version=\"18.1.24.709\" \/>\n        &lt;PackageReference Include=\"Telerik.Reporting.WebServiceDataSource.Trial\" Version=\"18.1.24.709\" \/>\n    &lt;\/ItemGroup>\n&lt;\/Project><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">Project<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Sdk<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;Microsoft.NET.Sdk.Web&quot;<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">ItemGroup<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        ...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">PackageReference<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Include<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;Telerik.Reporting.Cache.StackExchangeRedis.Trial&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Version<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;18.1.24.709&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">&lt;em&gt;<\/span><span style=\"color: #000000\">&lt;!-- \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49 --&gt;<\/span><span style=\"color: #800000\">&lt;\/em&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">PackageReference<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Include<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;Telerik.Reporting.OpenXmlRendering3.Trial&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Version<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;18.1.24.709&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">PackageReference<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Include<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;Telerik.Reporting.Services.AspNetCore.Trial&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Version<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;18.1.24.709&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">PackageReference<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Include<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;Telerik.Reporting.WebServiceDataSource.Trial&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #E50000\">Version<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;18.1.24.709&quot;<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #800000\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #800000\">&lt;\/<\/span><span style=\"color: #267F99\">ItemGroup<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #800000\">&lt;\/<\/span><span style=\"color: #267F99\">Project<\/span><span style=\"color: #800000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-a31aa551 wp-block-group-is-layout-constrained\">\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d Clean \u0e41\u0e25\u0e30 Restore \u0e42\u0e1b\u0e23\u0e40\u0e08\u0e04<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-eb8b826f wp-block-group-is-layout-constrained\" style=\"padding-right:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>dotnet clean\ndotnet restore<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">dotnet<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">clean<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">dotnet<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">restore<\/span><\/span><\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e44\u0e1f\u0e25\u0e4c-startupcs\">\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e44\u0e1f\u0e25\u0e4c Startup.cs<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Import\u00a0<code>Telerik.Reporting.Cache.StackExchangeRedis<\/code>\u00a0\u0e41\u0e25\u0e30\u00a0<code>StackExchange.Redis<\/code>\u00a0\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e27\u0e19\u0e1a\u0e19\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>....\nusing Telerik.Reporting.Cache.File; \/\/ \u0e25\u0e1a\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49\u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\nusing Telerik.Reporting.Services;\nusing Telerik.Reporting.Cache.StackExchangeRedis; \/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49\nusing StackExchange.Redis; \/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">....<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">using<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">Telerik<\/span><span style=\"color: #000000\">.Reporting.Cache.File; <\/span><span style=\"color: #008000\">\/\/ \u0e25\u0e1a\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49\u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">using<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">Telerik<\/span><span style=\"color: #000000\">.Reporting.Services;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">using<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">Telerik<\/span><span style=\"color: #000000\">.Reporting.Cache.StackExchangeRedis; <\/span><span style=\"color: #008000\">\/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">using<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">StackExchange<\/span><span style=\"color: #000000\">.Redis; <\/span><span style=\"color: #008000\">\/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-a31aa551 wp-block-group-is-layout-constrained\">\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u0e42\u0e04\u0e49\u0e14\u0e2a\u0e48\u0e27\u0e19 Register\u00a0<code>IReportServiceConfiguration<\/code>\u00a0\u0e43\u0e2b\u0e49\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-eb8b826f wp-block-group-is-layout-constrained\" style=\"padding-right:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>services.TryAddSingleton&lt;IReportServiceConfiguration>(sp =>\n         new ReportServiceConfiguration\n         {\n             ReportingEngineConfiguration = sp.GetService&lt;IConfiguration>(),\n             HostAppId = \"AtlasXWebService\",\n             \/\/Storage = new FileStorage(tempDataReport), \/\/ \u0e25\u0e1a\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49\n             Storage = new RedisStorage(ConnectionMultiplexer.Connect(\"localhost:6379\"), \"axws_report_\"), \/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49\n             ReportSourceResolver = new UriReportSourceResolver(\n                 Path.Join(\n                     sp.GetService&lt;IWebHostEnvironment>().ContentRootPath,\n                     \"Report\",\n                     \"Templates\"\n                 )\n             )\n         });<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">services<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">TryAddSingleton<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">IReportServiceConfiguration<\/span><span style=\"color: #000000\">&gt;(<\/span><span style=\"color: #001080\">sp<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">=&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         <\/span><span style=\"color: #0000FF\">new<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">ReportServiceConfiguration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">             <\/span><span style=\"color: #001080\">ReportingEngineConfiguration<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">sp<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">GetService<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">IConfiguration<\/span><span style=\"color: #000000\">&gt;(),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">             <\/span><span style=\"color: #001080\">HostAppId<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #A31515\">&quot;AtlasXWebService&quot;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">             <\/span><span style=\"color: #008000\">\/\/Storage = new FileStorage(tempDataReport), \/\/ \u0e25\u0e1a\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">             <\/span><span style=\"color: #001080\">Storage<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">new<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">RedisStorage<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">ConnectionMultiplexer<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">Connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #A31515\">&quot;localhost:6379&quot;<\/span><span style=\"color: #000000\">), <\/span><span style=\"color: #A31515\">&quot;axws_report_&quot;<\/span><span style=\"color: #000000\">), <\/span><span style=\"color: #008000\">\/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e19\u0e35\u0e49<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">             <\/span><span style=\"color: #001080\">ReportSourceResolver<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">new<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">UriReportSourceResolver<\/span><span style=\"color: #000000\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                 <\/span><span style=\"color: #001080\">Path<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">Join<\/span><span style=\"color: #000000\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                     <\/span><span style=\"color: #001080\">sp<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">GetService<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">IWebHostEnvironment<\/span><span style=\"color: #000000\">&gt;().<\/span><span style=\"color: #001080\">ContentRootPath<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                     <\/span><span style=\"color: #A31515\">&quot;Report&quot;<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                     <\/span><span style=\"color: #A31515\">&quot;Templates&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                 )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">             )<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">         });<\/span><\/span><\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<p>\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49&nbsp;<code>ConfigurationOptions<\/code>&nbsp;\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e04\u0e2d\u0e19\u0e1f\u0e34\u0e01\u0e2d\u0e37\u0e48\u0e19\u0e46\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>                Storage = new RedisStorage(ConnectionMultiplexer.Connect(new ConfigurationOptions\n                {\n                    EndPoints = { \"localhost:6379\" },\n                    Ssl = true,                             &lt;em>\/\/ Enable SSL\/TLS&lt;\/em>\n                    AbortOnConnectFail = false,             &lt;em>\/\/ Optional, recommended for resilience&lt;\/em>\n                    AllowAdmin = false                      &lt;em>\/\/ Optional, set true only if you need admin commands&lt;\/em>\n                }), \"axws_report_\"),<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">                <\/span><span style=\"color: #001080\">Storage<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">new<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">RedisStorage<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">ConnectionMultiplexer<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #795E26\">Connect<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #0000FF\">new<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">ConfigurationOptions<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                    <\/span><span style=\"color: #001080\">EndPoints<\/span><span style=\"color: #000000\"> = { <\/span><span style=\"color: #A31515\">&quot;localhost:6379&quot;<\/span><span style=\"color: #000000\"> },<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                    <\/span><span style=\"color: #001080\">Ssl<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">true<\/span><span style=\"color: #000000\">,                             &lt;em&gt;<\/span><span style=\"color: #008000\">\/\/ Enable SSL\/TLS&lt;\/em&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                    <\/span><span style=\"color: #001080\">AbortOnConnectFail<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">false<\/span><span style=\"color: #000000\">,             &lt;em&gt;<\/span><span style=\"color: #008000\">\/\/ Optional, recommended for resilience&lt;\/em&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                    <\/span><span style=\"color: #001080\">AllowAdmin<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #0000FF\">false<\/span><span style=\"color: #000000\">                      &lt;<\/span><span style=\"color: #001080\">em<\/span><span style=\"color: #000000\">&gt;<\/span><span style=\"color: #008000\">\/\/ Optional, set true only if you need admin commands&lt;\/em&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                }), <\/span><span style=\"color: #A31515\">&quot;axws_report_&quot;<\/span><span style=\"color: #000000\">),<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"featured_media":0,"parent":1408,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nav_title":"","positive":"","negative":"","footnotes":""},"docs_category":[],"class_list":["post-1411","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/1411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/comments?post=1411"}],"version-history":[{"count":6,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/1411\/revisions"}],"predecessor-version":[{"id":3216,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/1411\/revisions\/3216"}],"up":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/1408"}],"wp:attachment":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/media?parent=1411"}],"wp:term":[{"taxonomy":"docs_category","embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs_category?post=1411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}