API/CodeSamples/CacheQueries.md
... ...
@@ -0,0 +1,55 @@
1
+#CacheQueries
2
+
3
+[[_TOC_]]
4
+
5
+##About
6
+
7
+Gets or sets the value indicating whether the result sets of individual queries should be cached.
8
+This feature can be very useful if you have problems with performance in your database or slow connection to it.
9
+Results for default query (SELECT TOP 100...) will be cached, so there will be no extra queries to the data base.
10
+You can change the expiration time for this cache using something like AdHocContext.Driver.QueryCachingTime = TimeSpan.FromMinutes(1) (Default is 5 minutes).
11
+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.
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.CacheQueries = 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.CacheQueries = True 'The relevant setting
52
+ HttpContext.Current.Session("ReportingInitialized") = True
53
+ End Sub
54
+End Class
55
+```
... ...
\ No newline at end of file