API/CodeSamples/CacheSchema.md
... ...
@@ -0,0 +1,53 @@
1
+#CacheSchema
2
+
3
+[[_TOC_]]
4
+
5
+##About
6
+
7
+Gets or sets the value indicating whether the DatabaseSchema object 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
+You will need to update the schema in Izenda periodically (several options in our [[Caching|http://wiki.izenda.us/FAQ/Questions/Caching]] article) if any schema changes are made to the database dynamically (i.e. user-created fields, tables, etc) for reports to produce the latest results.
10
+
11
+**Default Value:** True
12
+
13
+##Global.asax (C♯)
14
+
15
+```csharp
16
+//main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
17
+public class CustomAdHocConfig : Izenda.AdHoc.DatabaseAdHocConfig
18
+{
19
+ // Configure settings
20
+ // Add custom settings after setting the license key and connection string by overriding the ConfigureSettings() method
21
+ public static void InitializeReporting() {
22
+ //Check to see if we've already initialized.
23
+ if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null)
24
+ return;
25
+ AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE";
26
+ AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE";
27
+ Izenda.AdHoc.AdHocSettings.AdHocConfig = new CustomAdHocConfig();
28
+ AdHocSettings.CacheSchema = true; //The relevant setting
29
+ HttpContext.Current.Session["ReportingInitialized"] = true;
30
+ }
31
+}
32
+```
33
+
34
+##Global.asax (VB.NET)
35
+
36
+```visualbasic
37
+'main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
38
+Public Class CustomAdHocConfig
39
+ Inherits Izenda.AdHoc.DatabaseAdHocConfig
40
+
41
+ Shared Sub InitializeReporting()
42
+ 'Check to see if we've already initialized
43
+ If HttpContext.Current.Session Is Nothing OrElse HttpContext.Current.Session("ReportingInitialized") IsNot Nothing Then
44
+ Return
45
+ 'Initialize System
46
+ AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE"
47
+ AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE"
48
+ Izenda.AdHoc.AdHocSettings.AdHocConfig = New CustomAdHocConfig()
49
+ AdHocSettings.CacheSchema = True 'The relevant setting
50
+ HttpContext.Current.Session("ReportingInitialized") = True
51
+ End Sub
52
+End Class
53
+```
... ...
\ No newline at end of file