What is the most effective way to execute a method in the Global.asax file every x number of minutes? Is there a way to have the ASP.NET server run a background thread that
you could use combination of HTTPModule and ASP.NET TIMER to do this
http://technico.qnownow.com/2012/04/06/create-custom-http-module-to-periodically-refresh-cache-or-some-other-work/
(or)
You could use AJAX Timer control .
http://technico.qnownow.com/2012/06/12/refresh-gridview-intervals-using-ajax-timer/
You could have a timer in the Application_Start of the Global.asax, but this is not very flexible since you need to do a request to the application for the timer to start. There are dangers to doing it this way though, as detailed by Haacked:
A better way of doing it is to have a web service that acts as an interface to your ASP.NET application and have a windows service that calls your web service on scheduled intervals:
More details here:
Put a System.Timers.Timer
object in Application_Start ()
in Global.asax
.
http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx