Tips on ASP.NET Hosting & Deployment

There is more to putting up a good Web application than just developing it. Capacity planning, finding the right host, tackling deployment issues & maintaining it satisfactorily are the somewhat under-rated aspects that need to be handled carefully.

I wanted to compile all the useful articles I find on ASP.NET hosting & deployment for easy reference, so here goes...

1. K. Scott Allen's "10 Tips for Shrink-wrapping ASP.NET Applications" contain sage advice culled from his experience.

2. This is one of the many tips from Scott Gu's ASP.NET 2.0 Tips, Tricks, Recipes and Gotchas series.
To prevent accidental deployment of an ASP.NET application in production with the switch enabled within the application’s web.config file, set the retail attribute of deployment element in the machine.config file to true like so:
<deployment retail="true">

The retail attribute can only be set at the machine level, not at the application level.

3. The Microsoft ASP.NET 2.0 Hosting Deployment Guide (downloable Word doc) covers the following topics:
  • Trust Levels and ASP.NET 2.0 Features
  • Providers in ASP.NET 2.0
  • Running ASP.NET 1.1 and ASP.NET 2.0 Applications Together
  • SMTP Configuration
  • ASP.NET 2.0 Configuration API
  • Hosting Scenarios and Recommendations
  • New Features for Hosters - OleDB and ODBC Providers in Medium Trust, Application Idle Timeout
  • Deploying ASP.NET 2.0 Step-by-Step
4. Top 10 Best Practices for Production ASP.NET Applications by Kyle includes these tips:
  • Create a new application pool for your site
  • Set the memory limit for your application pool -
    When creating the application pool, specifically set the memory limit rather than the time limit which is set by default.
    Configuring worker process memory limits - "By default IIS 6.0 does not set a limit on the amount of memory that IIS is allowed to use. ASP.NET’s Cache feature relies on a limitation of memory so the Cache can proactively remove unused items from memory. Use Application Pool's Properties to "..enable Memory recycling by clicking on either ‘Maximum used memory (in megabytes):’. The value should not be more than the amount of physical (not virtual) memory on the server, a good approximation is 60% of the physical memory, i.e. for a server with 512MB of physical memory select 310. It is also recommended that the maximum not exceed 800MB when using a 2GB address space. If the memory address space of the server is 3GB, the maximum memory limit for the worker process can be as high as 1,800MB"
  • Create and appropriately use an app_Offline.htm file
5. Best practices when moving your site - Google Webmaster Central: Years ago, I was involved with the migration of a website from one host to another & realized it is not an easy exercise. Website hosting companies promise the world but sometimes the key details are cloaked in technical jargon or embedded in the fine print that are easy to miss or likely to be misunderstood. Having a good understanding of what you are being promised and keeping a checklist of settings & vital details of the previous functional environment can help in conducting a smooth transition.

Similarly if you are moving your webpages to a new domain, you risk losing your search engine ratings. A recent article on the Google Webmaster Central Blog, titled Best practices when moving your site neatly documents the key points to note for a stress-free domain migration.

6. (20-May-08) Jeff Atwood's tips for Reducing Your Website's Bandwidth Usage:
  • Switch to an external image provider.
  • Turn on HTTP compression.
  • Outsource Your RSS feeds.
  • Optimize the size of your JavaScript and CSS

To be continued.....

Comments