#CacheQueries
##About
Gets or sets the value indicating whether the result sets of individual queries should be cached. This feature can be very useful if you have problems with performance in your database or slow connection to it. Results for default query (SELECT TOP 100…) will be cached, so there will be no extra queries to the data base. You can change the expiration time for this cache using something like:
AdHocContext.Driver.QueryCachingTime = TimeSpan.FromMinutes(1)
The default time is 5 minutes.
Caching the result sets of queries may result in a report not displaying the latest data (if the table has changed and the cache has not been refreshed), unless you change the number of results, or anything else that would change the query itself.
Default Value: True
##Global.asax (C♯)
//main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
public class CustomAdHocConfig : Izenda.AdHoc.DatabaseAdHocConfig
{
// Configure settings
// Add custom settings after setting the license key and connection string by overriding the ConfigureSettings() method
public static void InitializeReporting() {
//Check to see if we've already initialized.
if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null)
return;
AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE";
AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE";
Izenda.AdHoc.AdHocSettings.AdHocConfig = new CustomAdHocConfig();
AdHocSettings.CacheQueries = true; //The relevant setting
HttpContext.Current.Session["ReportingInitialized"] = true;
}
}
##Global.asax (VB.NET)
'main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
Public Class CustomAdHocConfig
Inherits Izenda.AdHoc.DatabaseAdHocConfig
Shared Sub InitializeReporting()
'Check to see if we've already initialized
If HttpContext.Current.Session Is Nothing OrElse HttpContext.Current.Session("ReportingInitialized") IsNot Nothing Then
Return
'Initialize System
AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE"
AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE"
Izenda.AdHoc.AdHocSettings.AdHocConfig = New CustomAdHocConfig()
AdHocSettings.CacheQueries = True 'The relevant setting
HttpContext.Current.Session("ReportingInitialized") = True
End Sub
End Class
