This is do-able with the combination of .Net 4 and IIS7.5.
First you need to auto start the application pool.
Configure Automatic Startup for an Application Pool (IIS 7)[
^]
Then you need to configure the application to auto start:
Auto-Start ASP.NET Applications (VS 2010 and .NET 4.0 Series)[
^]
If you don't have access to these components then you'll be required to keep the application alive by other means. Such as the following code snippet in a windows service:
WebClient refresh = new WebClient();
try {
refresh.UploadString("http://www.website.com/", string.Empty);
}
catch (Exception ex) {
}
finally {
refresh.Dispose();
}
Which I got from this article, discussing the keep alive problem.
Keep Your Website Alive (Don’t Let IIS Recycle Your Website)![
^]
There are a number of settings on the IIS application pool which control recycling of the worker processes.
Understanding these can also help reduce the number of times the application shuts down.
Recycling Settings for an Application Pool[
^]
Although if you want my advice. I'd completely drop IIS and develop a self hosted WCF application. Then the problem will just disappear.
How to: Host a WCF Service in a Managed Application[
^]