Improving Network Performance

Application View State

Applications built with Iron Speed Designer normally maintain their state using the .NET Framework's "view state" within each application page.  For some applications, a page's view state can consume several hundred kilobytes, which causes application pages to become bloated in size and consume extra bandwidth for application users.  For application users on a slow line (non-broadband Internet connection), this increased page size can cause download delays.

With some modest programming effort, you can change the View State to be saved in a session variable instead of being sent to the client via web pages.  For examples on how to do this, search for "View State" in the Iron Speed technical forums to see examples of customer implementations.

Using the .NET cache instead of the page-based view state offers certain benefits, but there are a variety of complexities to consider:

(1) First, simply moving the information from the web page's view state to the cache is highly problematic for most real-world applications because the amount of information can quickly cause the server's cache to reach capacity; the .NET cache grows based on the number of users.

(2) Second, the server-side cache grows as application users move from page to page because each page's state information is maintained in the server-side cache.  This permits the previous state to be retrieved when the browser's back button is pressed, moving the user back to a previous page and potentially a previous state.

(3) Third, the cache has its own time-out, expiration, and flushing algorithms which might be problematic for application users.  For example, if the .NET cache reaches capacity and expunges older state information, an application user clicking the back button would find their previous page's state information no longer present in the cache.

As you might imagine the server-side memory cache works well for small applications with a modest number of simultaneous users, but not very well for applications with a medium- to large number of users.

See Also

Performance Tuning

Improving Database Performance

Improving Application Performance

Improving Machine Performance

Improving Network Performance

View State Storage Options for Improving Performance

Session Management

Windows 2003 Application Performance Suggestions

Running Applications on Multiple Servers

Concurrent Application Users