Deployment Recommendations for ASP.NET Web Forms Applications
- 2 minutes to read
This topic explains how to reduce the memory requirements on your server(s) and secure your application.
Scale your ASP.NET Web Forms XAF applications
You can configure a web farm to achieve high scalability in your ASP.NET Web Forms XAF application. XAF ASP.NET Web Forms applications are stateful (maintain session state) when they are used on web farm, and each user session requires about 10 MB of memory. This means that a client’s requests should be routed to the same content server because the session management is not centralized. To learn more about how to configure a web farm for stateful applications, refer to the HTTP Load Balancing using Application Request Routing article. Step 3 of this article describes how to enable the client affinity feature.
Additional resources:
- Using NLB
- State Management and ways to handle Cache in Web Farm/Web Garden scenario
- Load Balancing
- ASP.NET Web Forms Application Life Cycle
- Hosting XAF ASP.NET Web Forms Projects using Azure Web Sites
- Deploy XAF ASP.NET Web Forms Applications to Amazon Web Services
- Deploying XAF to Windows Azure
- Load Testing XAF
Server, ServerView, InstantFeedback, and InstantFeedbackView Modes
There is no limit on the number of the application’s database records. However, you can use the Server, ServerView, InstantFeedback, and InstantFeedbackView Modes for List Views to only retrieve the required records (visible in the grid) from the database. You can set Mode for all List Views. To do this, use the Options or Views | <ListView> node’s IModelOptions.DataAccessMode property. Note that in these modes, a List View does not have simultaneous access to all the Collection Source’s type objects. This imposes limitations listed in the Server, ServerView, InstantFeedback, and InstantFeedbackView Modes article.
Supported session state modes
The XafApplication class, as well as other XAF entities stored in the session, are not serializable. An XAF application cannot use the StateServer, SQLServer and Custom session state modes; use the InProc session state mode instead.
Security Best Practices