My task is to create an ASP.NET application with a piece of code which will automatically run every half an hour. This code must append a record to the file every half an hour. It should not depend on users requests(whether they happen or not).
1) I’m writing my code in Application.Start method of Global.asax file. Am I right?
2) Do I have anything to do with the hosting (IIS) settings (e.g. change permissions to write the file, etc)?
I have already tried just putting the code to write to file into a loop in Application.Start method and then just copied the project directory to the server. However, it didn’t work.
If you’re forced to use ASP.NET, I’d recommend the technique found here, which uses the cache expiration to keep ASP.NET running and firing events on a timer. But there’s always the danger that if your app dies, then the timer will not restart until a page is requested, starting the app.
There’s really no way around it, so if you need something reliable, you’ll need to do this differently, probably with a Windows service.