Wednesday, August 13, 2008

Hosting ASP.NET application from WebDev.WebServer.EXE

Applications like WebMatrix we can say as a revolution for those who were not able to have Server on their machine like Windows XP Home Edition Users were not capable to have IIS on their system.

From Visual Studio2005 or say .NET Framework 2.0, a technique was introduce to host ASP.NET applications without invoking IIS.

I guess my all ASP.NET developer friends must be observing the Balloon which comes up once you from TaskBar saying "ASP.NET Development Server http://loca...." once you press F5 to run the ASP.NET application,like I have shown below

webhost1 

Such thing can be implemented manually from .NET Command Prompt too. Do you remember the following path?, Yes. This is where all important files get stored like vbc,csc,ngen etc. to be name a few.

\windows\Microsoft.NET\Framework\v2.0.50727

Here you can find one utility name as "WebDev.WebServer.EXE" which is standard executable file, just double click on that to run and you will get following screen.

webhost2

This window explains everything how should one go for hosting app via command line, This window gives us the list of parameters and syntax required to proceed ahead.

Next Step is to start .NET Command Prompt as follows :

Click on Start > All Programs > Microsoft Visual Studio 2008 > Visual Studio Tools > Visual Studio 2008 Command Prompt

Go there and Execute the WebDev Command followed by path and parameters like this :

WebDev.WebServer /port:8080 /path:"c:\devcon\devcon" /vpath:"/MyDevCon"

In my case, my application resides at "c:\devcon\devcon" and I want a virtual name to be MyDevCon like we create virtual alias in IIS/ Virtual directory one can say.

webhost3

Once the command is fire successfully, you can see the corresponding notification on Taskbar as shown below :

Webhost4

If you carefully observe the image above, you can see that the alias which I gave on command prompt as "MyDevCon" is now hosted on my localhost and default port which I given as 8080 which is standard for all web applications.

You can right click on that icon in System tray, you will get 3 Options as 

1.Open in Browser : This will open the hosted ASP.NET application in Browser

2. Stop : This will stop this instance of hosting and for rehosting again you need to fire the same command.

3.Show Details : This is pictorial representation in dialog manner to show what is hosted and where like below :

webhost6

By choosing option 1 you can see your application in Default Browser. This is how WebDev.WebServer utility works.

I recommend this for small commercial Web Applications which don't have much of business logic and overall size is low.

This is always helpful when your WebServer have issues.

Vikram.

No comments: