PdfIntegrationProviderLiteSessionProvider Property |
Namespace: RadPdf.Integration
The PdfLiteSessionProvider is responsible for associating a PdfLiteSession with a document key (string).
By default, RAD PDF uses the DefaultPdfLiteSessionProvider which uses the ASP.NET session state.
using System; using System.Web; using RadPdf.Integration; public class CustomPdfIntegrationProvider : PdfIntegrationProvider { public CustomPdfIntegrationProvider() : base() { this.LiteSessionProvider = new CustomPdfLiteSessionProvider(); } }
using System; using System.Collections.Concurrent; using System.Web; using RadPdf.Lite; public class CustomPdfLiteSessionProvider : PdfLiteSessionProvider { // This example uses an in memory dictionary, which won't have // persistent storage, but a database or other key /value store // can easily be substituted. private readonly ConcurrentDictionary<string, byte[]> _dict; public CustomPdfLiteSessionProvider() : base() { _dict = new ConcurrentDictionary<string, byte[]>(); } public override string AddSession(PdfLiteSession session) { string key = GenerateKey(); _dict[key] = session.Serialize(); return key; } public override PdfLiteSession GetSession(string key) { byte[] data = _dict[key]; if (null == data) { return null; } return PdfLiteSession.Deserialize(data); } }
<?xml version="1.0"?> <configuration> <appSettings> <add key="RadPdfLicenseKey" value="DEMO"/> <add key="RadPdfIntegrationProvider" value="CustomPdfIntegrationProvider,App_Code"/> </appSettings> <system.web> <httpHandlers> <add path="RadPdf.axd" verb="GET,POST" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/> </httpHandlers> </system.web> <!-- The system.webServer element is for use with IIS 7 (and later) when Managed Pipeline Mode is set to "Integrated". It will be ignored in other versions of IIS. --> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <handlers> <add path="RadPdf.axd" verb="GET,POST" name="PdfHttpHandler" preCondition="integratedMode" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/> </handlers> </system.webServer> </configuration>