I am writing some applications at the moment which require a lot of data gathering and there are a number of people at the events who want to be able to see this data while it is being collected. I have TCP socket connections for the main data collection and these pass their data to a central server. In order to avoid having to create further clients to access the collected data, I decided to run a small web server as part of the central server and just create web pages to view the data. Other people would then be able to edit and style these pages without any interference from me. As it happens there were no others available, so the users had to put up with my web design.
I made a class based around the MSDN sample and comments, but wanted to extend it in two ways; firstly, I needed to be able serve up the full gamut of binary files for any of the image types in the documents; secondly, I wanted to allow a command to be sent to the hosting application, via an http command. I added an event handler to do this. This would then decouple any application logic from being involved on the web side. I can also use it to report unknown file requests.