I have a thick GUI application (possibly running as a service, but also just as a normal application) on a desktop. I would like to expose a web interface to the application for some remote monitoring and control of the application.
I currently am hosting a WCF service that just returns HTML in the application, which works fine, but optimally I would like to use an ASP.Net application, or a silverlight application.
Is there any way to host the aspx or silverlight app from within my app?
As part of this, I would like to be able to share data between the two applications.
Yes. You don't even need Cassini, as it wraps ASPX hosting bits already present in the framework it's all inside System.Web.Hosting
MSDN has a good article on it all
The tiny webserver that is built into VS is called Cassini and you can download the source somewhere. Not sue about versions and licenses.
Cassini provides (demonstrates) the ASP Hosting stuff.
ScottHa has an article on hosting Cassini for unit tests. I've used it before, with a couple of slight modifications, for unit tests and it works great.
Not sure what differences you get by just using HTTP.SYS directly, but either should work pretty well, I think.
as i see it, the most simple solution for you is to put a browser control on your app, in the browser put a silverlight app,
if you wanna share data between the app and the silverlight you can try to expose a wcf service from the app to the silverlight if it works its also very simple.