Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Execute method in global.asax every few minutes

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 fires a tick event after a certain elapsed period?

like image 495
carlbenson Avatar asked Jan 17 '23 04:01

carlbenson


1 Answers

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:

  • http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx

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:

  • http://msdn.microsoft.com/en-us/magazine/cc163821.aspx
like image 145
skub Avatar answered Jan 18 '23 23:01

skub