The costs of web site hosting can range from being free, to a couple dollars a month, to several hundred dollars a month. The first step is to identify what your application needs—you can then compare this list against what each host can offer for their price. Make a list of the technologies and requirements for your application, paying special attention to the following questions:
How much disk space does your application require?
If you plan to stream music or video, you will want to find a web hosting provider that offers large amounts of disk space.
How much bandwidth will your application require?
This can be a difficult figure to estimate, but most small business and personal web sites will be under 4GB a month.
What type of database does your application require?
Many hosting providers will provide a SQL Server database or two as part of the package, which is great for those who can’t afford a full license to SQL Server: you can develop against the free SQL Server Express Edition and deploy to SQL Server when your application goes live. An option that many hosting providers provide for free is MySQL: a full-featured, open source database engine. Many ASP.NET developers are unfamiliar with MySQL, so be sure to read up on it before you make this choice.
How much space does your database require?
Generally, web hosting providers charge less per megabyte of file storage then they do for each megabyte of database storage. This may affect whether you design your application to store images and other binary data in a BLOB (Binary Large Object) field of your database, or on a file system.
Do you need an SSL certificate to process credit card orders securely?
If so, you may want to look for a host that can acquire and install a certificate for your site at a reasonable price. This approach may be more straightforward (and possibly cheaper) than acquiring a certificate on your own, then handing it over to the host.
Does your application need to send email to members?
Make sure the hosting provider supplies a mail server you can use for sending email.
Do you need to receive email through the same domain as the web site?
Most providers will offer free email services to customers, but check to make sure the number of mailboxes and the mail management features meet your needs.
Keep your list handy while working through the sites of web hosting providers. Discard those providers that don’t meet your needs for ASP.NET hosting, or don’t have flexible bandwidth and storage plans.
Narrowing the Field
Once you’ve narrowed the potential hosting providers down to four or five candidates, it’s time to drill into specifics. You should consider calling or emailing your short-listed web hosting providers with any questions that may arise from the following material. You’ll want to get an idea of how easy the provider is to work with, how quickly they can respond, and how technically accurate their answers are. If they cannot impress you as a potential customer, chances are that they won’t impress you once you’ve signed up and sent them your hard-earned dollars.
Here are several areas in which you’ll want to evaluate each web hosting provider.
Backups
Ask for details of your hosting provider’s backup strategy. Find out how often they back up the file system and the database, and ask about the average turn-around time for restoring a site.
Reliability
You might want to know a bit about the provider’s infrastructure. First, find out if they have redundant connections to the Internet. You might also ask about a provider’s reliability in newsgroups and email forms, but take any third-party feedback from an untrusted source with a grain of salt. People are more likely to complain about small problems than they are to praise small successes.
Deployment and Management
What will you do when the time comes to get your application to the hosting provider? Most hosts offer FTP access, and Visual Studio 2005 provides you the ability to deploy a web project to a remote server over FTP. Some hosting providers require you to use a web-based file manager to deploy files, but you should avoid these kinds of services. They’re usually quite cumbersome and won’t allow you to use Visual Studio 2005 for deployment.
For SQL Server, hosting providers should allow SQL Server users to connect directly to their databases with a tool like Visual Studio .NET 2005, SQL Management Studio, or Query Analyzer. If the hosting provider offers only a web interface, you may find it challenging to use standard tools and scripts when installing, maintaining, and updating your database.
Statistics
You’ll want to know the who, what, when, and where of the traffic that reaches your site. Most web hosting providers will provide reports built from the web server’s logs to let you know how many hits you receive. Ask the web host for a sample of these reports to see if they give you information that you can use. Reports that include referrers (how people reached your site) and 404 errors (so you know when you have a bad link on the site) can be extremely useful. Some providers will also let you download the raw log files if you want to build your own reports—check whether the host offers this capability if you believe you’ll need it.
Security
As an ASP.NET developer, you’ll want to make sure your web host is using Windows Server 2003 and keeps up to date with the application of patches. Also ask the provider about how and when they apply security fixes.
Keep in mind that, in many cases, the hosting provider is allowing your code to execute on a server that hosts web sites that belong to others. As such, the hosting providers need to trust that your code won’t do anything obnoxious. In reality, they don’t. Many hosting providers (unless they provide a dedicated server or dedicated virtual server), will make sure that your web application runs in a partial trust environment, which is also known as Medium Trust within ASP.NET.
The best way to prepare your site for Medium Trust hosting is to set your trust level to medium and test the site thoroughly. This setting is altered via the trust element in Web.config:
If your web site makes outgoing HTTP requests, be sure to set the originUrl attribute of the
Note that, in the machine.config file, your hosting provider may dictate which web sites your site may make requests to. So if you run into problems when making requests, be sure to contact your hosting provider’s technical support team.
For more information on partial trust, see the Microsoft document Using Code Access Security with ASP .NET.
Special Needs
Does your application make use of any components or services outside the .NET Framework? Do you rely on MSXML 4 or WSE 2, or on running a scheduled task every night? If so, you’ll want to ask the web hosting provider if these components and services are available.
Perhaps your application uses an HttpModule or HttpHandler for URL rewriting or other special processing tasks. In such cases, you’ll want to check if the web host allows these technologies.
Free Stuff
Most web hosting providers will offer free components and controls with your hosting package. Many of the controls are already free, so evaluate each package with a critical eye. Other web hosts may offer additional services, like SQL Server Reporting Services, for a fee.