Most of the ASP.NET Web Developers who have their Web application hosted in Shared hosting, do not have much control over the hosting server including having the ability of creating Window Services or create their application specific scheduled tasks.
Recently, while going through the Community Starter Kit code, I found a nice way (basic) of having a timer in the Global.asx Application_Start event as below:

The code in Fig (1) makes a call to a Web Service and this is quite useful and even powerful for small to medium size Web sites, especially if that call is Asynchronous.
Other issues could arise are error handling and performance.