4bee0b9de415c1456a9e89dfb8568a0fde221adf
API/CodeSamples/CacheReports.md
| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | +#CacheReports |
|
| 2 | + |
|
| 3 | +[[_TOC_]] |
|
| 4 | + |
|
| 5 | +##About |
|
| 6 | + |
|
| 7 | +Gets or sets the value indicating whether all loaded reports should be cached. |
|
| 8 | +This feature can be very useful if you have problems with performance in your data base or slow connection to it. |
|
| 9 | +Loaded ReportSet will be cached, so there will be no extra queries to the data base. |
|
| 10 | +When you save the Reportset cache for it will be removed and it will be added again when ReportSet will be loaded again. |
|
| 11 | +Report caching may cause problems if you are running more than one instance of Izenda Adhoc with the same reports source (i.e. the same database and table or same reports folder) |
|
| 12 | + |
|
| 13 | +**Default Value:** True |
|
| 14 | + |
|
| 15 | +##Global.asax (C♯) |
|
| 16 | + |
|
| 17 | +```csharp |
|
| 18 | +//main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig |
|
| 19 | +public class CustomAdHocConfig : Izenda.AdHoc.DatabaseAdHocConfig |
|
| 20 | +{ |
|
| 21 | + // Configure settings |
|
| 22 | + // Add custom settings after setting the license key and connection string by overriding the ConfigureSettings() method |
|
| 23 | + public static void InitializeReporting() { |
|
| 24 | + //Check to see if we've already initialized. |
|
| 25 | + if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null) |
|
| 26 | + return; |
|
| 27 | + AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE"; |
|
| 28 | + AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE"; |
|
| 29 | + Izenda.AdHoc.AdHocSettings.AdHocConfig = new CustomAdHocConfig(); |
|
| 30 | + AdHocSettings.CacheReports = true; //The relevant setting |
|
| 31 | + HttpContext.Current.Session["ReportingInitialized"] = true; |
|
| 32 | + } |
|
| 33 | +} |
|
| 34 | +``` |
|
| 35 | + |
|
| 36 | +##Global.asax (VB.NET) |
|
| 37 | + |
|
| 38 | +```visualbasic |
|
| 39 | +'main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig |
|
| 40 | +Public Class CustomAdHocConfig |
|
| 41 | + Inherits Izenda.AdHoc.DatabaseAdHocConfig |
|
| 42 | + |
|
| 43 | + Shared Sub InitializeReporting() |
|
| 44 | + 'Check to see if we've already initialized |
|
| 45 | + If HttpContext.Current.Session Is Nothing OrElse HttpContext.Current.Session("ReportingInitialized") IsNot Nothing Then |
|
| 46 | + Return |
|
| 47 | + 'Initialize System |
|
| 48 | + AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE" |
|
| 49 | + AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE" |
|
| 50 | + Izenda.AdHoc.AdHocSettings.AdHocConfig = New CustomAdHocConfig() |
|
| 51 | + AdHocSettings.ShowDesignLinks = True 'The relevant setting |
|
| 52 | + HttpContext.Current.Session("ReportingInitialized") = True |
|
| 53 | + End Sub |
|
| 54 | +End Class |
|
| 55 | +``` |
|
| ... | ... | \ No newline at end of file |