There are four types of ASP.NET websites:
- Local IIS site:
- Benefits: testability in IIS environment, site is accessible from other computers
- Disadvantages: demands administrative rights, can be debugged only by one user
- File-system based site:
- Benefits: security, no IIS needed, no administrative rights needed, multiple users can debug it at the same time
- Disadvantages: cannot be tested in IIS environment
- FTP site:
- Pros: site can be tested on the server where it will be used
- Cons: site exists only in the server; this project type cannot be created, only opened.
- Remote site:
- Pros: testability, access for multiple developers
- Cons: debugging issues.
Local IIS sites:
Local IIS sites run on your computer, handled by Internet Information Services. They are a good way to test a web site in an IIS environment, or for example, in the case of intranet sites.
In order to use local IIS sites, you must meet the following prerequisites:
- IIS 5.0 or later installed.
- .NET framework 2.0 or later.
- ASP.NET enabled on local IIS.
- Administrative privileges on local computer.
Creating local IIS sites:
Visual Studio handles the task for you, when you create a local IIS site.
Running local IIS websites:
By default, simply enter: http://localhost/YourSiteName/APage.aspx
File-System based sites:
With this project type, a website is stored on the file system. It is handy, when IIS is not installed, or when multiple developers must access the same files, in classroom settings, etc.
For testing file system sites, a Web server (included in Visual Studio) must be used.
In this case, the sites are stored on a remote FTP server, and you can communicate with it using Visual Studio. You open the project, and then modify it, and VS takes care of synchronization, etc.
Active and Passive FTP mode:
- Active FTP is for server admins, the client initializes a port for the command, and passes the address of it for the server, which attempts to initialize a port on the client for the data. This will likely fail, if the client has a firewall configured.
- Passive FTP is for the clients. Both ports will be initialized by the client, thus avoiding the interruption by the firewall.
In most cases, when you attempt to connect to an FTP site, you must specify valid credentials. Be aware, that these credentials are passed to the server in clear text format, thus be likely the target of interception.
FTP files are cached by VS when editing them. This can cause versioning conflicts when two or more developers edit the same FTP site.
Alternatively to an FTP server, you can also use a remote IIS server to publish your application on it. Although it’s a requirement for the server that FrontPage Server Extensions must be installed on it. Also, the same prerequisites exist as at the local IIS site, namely: IIS 5.0 or later, .NET 2.0 or later must be installed, and ASP.NET pages must be enabled on the server.
The creation of this type is simply as any other, Visual Studio transparently does the heavy setup work, and you can concentrate on the development.