Last week I posted up some thoughts on IIS 7.0. The “big thought” was that application developers should be able to drag a component into their applications and automagically be able to host IIS in-process to provide management interfaces for head-less systems without the deployment headaches associated with IIS (which might get better with IIS 7.0 anyway).

Well, within a few hours Christian Weyer commented that I should just leverage the HttpListener class in Whidbey for this purpose. That was a great idea and I decided to tackle it this afternoon, although hooking HttpListener into the ASP.NET hosting infrastructure was too much like hard work for a lazy Sunday afternoon so I went hunting for the updated Cassini implementation that the ASP.NET team used in Whidbey to support web-development.

The result is this VERY CRUDE proof of concept which contains a component that you can drag onto a design surface – set a few properties and then call Start(). It just uses the Server class out of the WebDev.WebHost.dll file that ships with Whidbey (so its definately not production strength stuff – do not deploy).

So – for the ASP.NET and IIS team members out there listening, this is the kind of hosting support I am talking about – drag and drop. IIS shouldn’t need to be installed on the machine to support it either. In addition to that – the component should have events which can be hooked to enable the host application to interact with the requests and provide contextual information (especially useful for management tools).