We had the same issue with a web service that had to stay online in such a way that we couldn't afford the latency involved in starting it up if it went stale.
We wrote a very simple Windows Service that woke up every 3 minutes and requested a page as @Wayne suggested. Worked like a charm.