As web developers we all know that very rarely do we only get to work on a single site at a time. Many times we find ourselves juggling between web sites. As each site becomes more complex (virtual directories, web site configuration settings, etc.), the task of switching between different sites becomes more time consuming. Now throw in the fact that you can only create a single site under Windows XP Pro, and you have frustration waiting to happen.
After looking for a bit, we were able to find a solution to the problem called IIS Admin. IIS Admin allowed for multiple site definitions to be created under Windows XP (with only a single site started at a time). At first this seemed like the answer to our prayers. We can create a separate site for each project, all the configuration changes would be saved with that site, and to switch we just start a different site. However, we soon realized IIS Admin came with a few interesting “features” of its own.
Initial Solution Drawbacks
First, the program did not show up in the taskbar. This meant that if the program lost focus it could be difficult to find again with multiple windows open. Second, if you created a site and failed to start it, the next time you opened IIS it would show up as an error. These among some others, proved to become a problem of its own when it came to introducing new developers to the program.
After dealing with explaining the program over and over, we decided to create IIS Admin in C# (hence IIsAdmin.NET was born) and while re-creating it, correct some of the features we found less then desirable. All of the interfacing with IIS is done via the Active Directory Service Interface (ADSI). Although the IIS ADSI provides much more functionality, we decided to keep IIsAdmin.NET’s primary function to creating the web site definition and switching between the active sites. All of the site management such as virtual directory creation can be done via IIS.
We also wanted to provide the code so others could pick up where we left off. Feel free to send us any improvements you make to be incorporated into future versions. Most of all enjoy, we hope it makes the task of switching between web projects frustration free.