Framework > Thin Web > Common Server Settings |
Both the Chart and Diagram ThinWeb controls expose a ServerSettings object that allows you to configure automatic update and how the images served to the client.
Automatic update allows you to instruct the control to initiate an AJAX update on a specified time interval. This is especially useful when you build web applications that monitor real time data. In order to configure automatic update you need to do the following:
1. Set the EnableAutoUpdate property of the ServerSettings object to true.
2. Optionally modify the AutoUpdateInterval.
3. Register an AutoUpdate callback.
The following code snippets show how to automatically update a label in the Chart and the Diagram ThinWeb controls so that it shows the current server time:
Nevron Chart ThinWeb
C# |
Copy Code
|
---|---|
protected void Page_Load(object sender, EventArgs e) { if (!NThinChartControl1.Initialized) { // clear the chart // add a label with the current time // enable auto update } [Serializable] #region INAutoUpdateCallback Members public void OnAutoUpdate(Nevron.ThinWeb.NAspNetThinWebControl control) public void OnAutoUpdateStateChanged(Nevron.ThinWeb.NAspNetThinWebControl control) { } #endregion} |
Nevron Diagram ThinWeb
C# |
Copy Code
|
---|---|
protected void Page_Load(object sender, EventArgs e) { if (!NThinDiagramControl1.Initialized) // init the document // enable auto update } [Serializable] #region INAutoUpdateCallback Members public void OnAutoUpdate(Nevron.ThinWeb.NAspNetThinWebControl control) NThinDiagramControl diagramChontrol = (NThinDiagramControl)control; } public void OnAutoUpdateStateChanged(Nevron.ThinWeb.NAspNetThinWebControl control) } #endregion } |
![]() |
All callbacks that you register must be marked as Serializable, because they are persisted with the controller in the control session state. |
The image response mode allows you to configure how raster images generated by the control are served to the client. The following table lists the available options:
ImageResponseMode | Description |
Request | Images are served in a separate request. This mode results in slower processing, but is supported by all browsers. |
Embed | Images are embedded in the AJAX response. This mode results in faster processing, but with slightly bigger traffic. Base 64 encoded images are not fully supported by IE browsers less than version 9.0. |
Auto | The control will automatically decide whether to embed the image based on the detected browser accessing the control. This is the default. |
The following code snippet shows how to switch the ImageResponseMode to Serve:
C# |
Copy Code
|
---|---|
thinControl.ServerSettings.ImageServeMode = ImageServeMode.Request; |
Visual Basic |
Copy Code
|
---|---|
thinControl.ServerSettings.ImageServeMode = ImageServeMode.Request |
By default the control will display error messages for exceptions that occured on the server - that helps track problems that arise during control request processing. If you wish to turn off error messages you need to set the DisplayErrorMessages property to false:
C# |
Copy Code
|
---|---|
thinControl.ServerSettings.DisplayErrorMessages = false; |
Visual Basic |
Copy Code
|
---|---|
thinControl.ServerSettings.DisplayErrorMessages = False |
The TiledCacheSize property controls the maximum number of pixels in the that the control can cache on the client in the x and y direction. By default this property is set to 2000 pixels. To better understand the meaning of this property consider the following situation - if the user zooms in a chart with plot size of 400x200 pixels with a zoom factor of 10 this results in a virtual image of size 4000x2000 pixels. This image will be partitioned and only the visible tiles will be send to the client. When the user scrolls the currently visible viewport (which is still 400x200 pixels), tiles that are currently not present on the client will be requested from the server. The control keeps track of tiles that are not currently visible but loaded on the client, when the size of these tiles exceeds the value of this property they will be discarded.
It is important not to set too large values to this property as this can result in large memory usage on the client. Values in the range 1000-4000 produce optimal results. The following code shows how to extend the amount of cache size on the client:
C# |
Copy Code
|
---|---|
NThinChartControl1.ServerSettings.TileCacheSize = 3000; |
Visual Basic |
Copy Code
|
---|---|
NThinChartControl1.ServerSettings.TileCacheSize = 3000 |
Some Text
Nevron Chart\Web Forms\ThinWeb\Auto Update
Nevron Chart\Mvc\ThinWeb\Auto Update
Nevron Diagam\Web Forms\ThinWeb\Auto Update
Nevron Diagam\Mvc\ThinWeb\Auto Update