By default in IIS, the App Pool will recyle after 20 minutes of inactivity (idle timeout setting).
You can increase this (I belive setting it to 0 is the equivalent of setting it to never timeout).
However, I think you'd be better off to look at the overall situation, rather than simply adjusting the idle timeout on IIS.
How frequently is the service used? A few times an hour, a few times a minute, many times a second?
How many clients are connecting at the same time?
How long does it take to populate the data? Is the length of that initial load really enough to justify increasing the idle timeout?
Another option to consider if you want the service up all the time is to host it as a Windows Service. I've done that with one of my services where I needed to maitain a pool of objects.
Just some things to consider.