Improved Performance and Scalability

ASP.NET lets you use serve more users with the same hardware reducing the total project costs to a business. Performance gains are achieved in a number of ways:

Compiled execution

ASP.NET is much faster than classic ASP, while preserving the "just hit save" update model of ASP. However, no explicit compile step is required. ASP.NET will automatically detect any changes to the application, dynamically compile the files if needed, and store the compiled results to reuse for subsequent requests. Dynamic compilation ensures that your application is always up to date, and compiled execution makes it fast.


Rich output caching

ASP.NET output caching can dramatically improve the performance and scalability of your application. When output caching is enabled on a page, ASP.NET executes the page just once, and saves the result in memory in addition to sending it to the user. When another user requests the same page, ASP.NET serves the cached result from memory without re-executing the page. Output caching is configurable, and can be used to cache individual regions or an entire page. Output caching can dramatically improve the performance of data-driven pages and improve the user experience by eliminating the need to query the database on every request.


Web-Farm Session State

ASP.NET session state lets you share session data, user-specific state values, across all machines in your Web farm. Now a user can hit different servers in the web farm over multiple requests and still have full access to their session. And since business components created with the .NET Framework are free-threaded, you no longer need to worry about thread affinity.

Microsoft .NET Outperforms the Competition

In a head-to-head comparison of performance and scalability between Sun's Java Pet Store J2EE blueprint application and the ASP.NET implementation, Microsoft .NET significantly outperformed J2EE. The bottom line: the ASP.NET implementation required only 1/4th as many lines of code, was 28x faster (that's 2700%), and supported 7.6x as many concurrent users as J2EE, with only 1/6th as much processor utilization. Of course, ASP.NET is also much faster than interpreted scripting languages such as PHP.

>

Enhanced Reliability

ASP.NET ensures that your application is always available to your users via its integration into IIS. ASP.NET automatically detects and recovers from errors like deadlocks and memory leaks to ensure your application is always available to your users.

For example, say that your application has a small memory leak, and that after a week the leak has tied up a significant percentage of your server's virtual memory. ASP.NET will detect this condition, automatically start up another copy of the ASP.NET worker process, and direct all new requests to the new process. Once the old process has finished processing its pending requests, it is gracefully disposed and the leaked memory is released. Automatically, without administrator intervention or any interruption of service, ASP.NET has recovered from the error.