Hostable Web Core (known as HWC) is a new concept in IIS7 to host a website/webservice inside your own process. In short a smaller hosted version of IIS (an IIS7 express edition?). This is accomplished by making a LoadLibrary call to load hwebcore.dll (%systemdrive%\Windows\System32\inetsrv\hwebcore.dll)
From IIS7 onwards you can administer IIS7 remotely using IIS Manager (through HTTPS). When you connect remotely you are actually connecting to a "Web Management Service" called WMSVC. This service uses HWC so that it's not dependent on IIS7 services directly.
I had some idea around building alternative UI for IIS7, but since WMSVC service calls are not publicly documented I didn't want to start using it since my application might break anytime. So HWC was a surprise to me but with a glitch. I'm too used to managed code that I haven't written C++ code from last 6years. During 1996-2000 C/C++ was my favorite language and then got into languages which are less fussy (VB/VB.net & C#).
But I had multiple challenges 1) Writing something in a language which I've not used for last 6 years. 2) Writing a windows service which I haven't done before.
Before diving into the code let's see limitations of HWC (Calling it limitation is wrong so let's say it's by design)
PS: Project files are in VS2008 but the application doesn't have any dependency with newer versions.
Ingredients of my WebCoreService.
How to RUN the service?
Extract the zip files with source and the binary files. Follow these steps to setup the service (make sure you are doing this from an elevated command prompt)
Bingo! Hostable webcore service is ready.
All the configuration mentioned above like folder path, port number etc can be modified inside the configuration file "WebCoreService.exe.config"
Do let me know if you have any questions or suggestions or even ideas !!!Source & binary => http://code.msdn.com/hwc/