How to scale your Visual WebGui application over a web-farm
The Scalable Server extension provides the scaling capabilities required for storing the session state within an external state server which can be either an SQL Server or any state server that is enabled by Microsoft ASP.NET session state.
The Enterprise Server is constructed of 2 main orchestrating components:
- The Enterprise Server's Windows Service which is responsible of enabling the serialization of the VWG state and assuring the process is done efficiently and optimized.
- The Enterprise Server SDK capable of communicating with the Enterprise Server's Windows service enabling state serialization.
The Installation
The installation file presents 2 options:
- Enterprise SDK – which installs the Enterprise Server's Windows Service locally of the selected .NET runtime version along with the selected VS version's VWG templates (should be selected when installing development machines).
- Enterprise Server – which installs the Enterprise Server's Windows Service locally only (should be selected when installing a server).
Configuration
Regarding the ASP.NET session state configuration:
<!-- SESSION STATE SETTINGS
By default ASP.NET uses cookies to identify which requests belong to a particular session.
If cookies are not available, a session can be tracked by adding a session identifier to the URL.
To disable cookies, set sessionState cookieless="true".
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
While using mode="InProc" as shown above, scalability is not enabled since the state is kept "in process" meaning within the IIS/WebDev server.
Configuring mode= "Off" cannot be used with VWG as the session state is essential in order to run the Server Based architecture.
Any other configuration, such as mode="SQLServer" (along with a proper definition of the connection) will require the serializability capabilities implemented within the scalability service orchestrated with the Enterprise SDK.
Runtime
Running any session state mode other than "InProc" will require the Windows Service to be available and running.
Note
Make sure that all of the server side objects are either serialize-able (meaning that all of their members are either primitives or are serialize-able objects recursively), alternatively they can suit if they are re-initialized automatically when empty.
Learn more about how the Scalable Server extension can upgrade your enterprise application scalability.
|