Log In
[Expand]Welcome to DevExpress .NET Documentation
[Expand]WinForms Controls
[Collapse]ASP.NET Controls and MVC Extensions
 [Expand]What's Installed
 [Collapse]Common Concepts
  [Expand]Web.config Modifications
  [Expand]Callback Exception Handling
  [Expand]Client-Side Functionality
  [Expand]Cookies Support
  [Expand]Appearance Customization - Theming
   Icon Collection
  [Expand]Performance Optimization
  [Expand]CSS Image Sprites
   Supported Document Types
  [Expand]Accessibility Support
   Right to Left Support
   HTML Encoding
   Binary Storage Configuration
  [Expand]SharePoint Support
   Mobile Support
  [Expand]Office Document Management
   Cloud Storage Account Management
  [Expand]Web Farm and Web Garden Support
 [Expand]ASP.NET WebForms Controls
 [Expand]ASP.NET MVC Extensions
 [Expand]Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Report Server
[Expand]eXpressApp Framework
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Binary Storage Configuration

This topic describes how DevExpress ASPxCapcha, ASPxCharts, ASPxGauges and ASPxBinaryImage controls support the IIS clustered web environment (also known as Web Farms or Web Gardens).

Web farm and web garden technologies allow you to run a web application on several web servers (web farm) or on the same server but in different processes. Each process is executed using its own processor (web garden). This is specified by the Internet Information Services (IIS) settings of the server host on which you deploy your web application.

Creating a Web garden for an application pool yields the following advantages.

  • Robust processing of requests: when a worker process in an application pool is tied up (for example, when a script engine stops responding), other worker processes can accept and process requests for the application pool.
  • Reduced competition for resources: when a Web garden reaches a steady state, each new TCP/IP connection is assigned, according to a round-robin scheme, to a worker process in the Web garden. This helps balance workloads and reduces competition for resources that are bound to a worker process.

With default settings, a binary storage mechanism would not work with Web Farms and Web Gardens for the enhanced transformation of a binary image from the specified binary storage to the client.

To use Web Farms and Web Gardens, modify the settings of the binary storage mechanism by using the control's BinaryStorageMode property (ASPxBinaryImage.BinaryStorageMode, ASPxGaugeControl.BinaryStorageMode, CaptchaImageProperties.BinaryStorageMode, WebChartControl.BinaryStorageMode), the BinaryStorageConfigurator.Mode field, BinaryStorageConfigurator.RegisterCustomStorageStrategy and BinaryStorageConfigurator.RegisterStorageStrategy methods.

The BinaryStorageMode property provides the following modes.

Value Description
Default This mode implies using the Cache mode if another configuration is not defined by the BinaryStorageConfigurator.Mode field.
Session Binary data is stored within a session. Web Gardens and Web Farms can be used by the binary storage mechanism if an application session is configured using the SQL or State Server Session-State Modes.
Cache Binary data is stored within a cache. Web Gardens and Web Farms will not work correctly in this mode.
Custom Custom mode provides for implementing a custom scenario for storing and accessing binary data. Web Farms and Web Gardens should work if the custom configuration implements storing the binary data on the hard drive, or by using a web service. For more details, use the How to Define Custom Binary Storage Configuration Code Central example, which implements storing binary images on a hard drive.


To specify the binary storage mode for DevExpress ASPxCapcha, ASPxCharts, ASPxGauges and ASPxBinaryImage controls simultaneously, define the BinaryStorageMode property within the global.asax file as shown below:

    void Application_Start(object sender, EventArgs e) {
        DevExpress.Web.BinaryStorageConfigurator.Mode = DevExpress.Web.BinaryStorageMode.Session;

Is this topic helpful?​​​​​​​