The Application_Start event will be fired when IIS / cassini / independently loads your application (the path before any HTTP requests are made).
When reading your comments, you want it to be a βone-time operation,β which does not really make sense. Your application is not so much "launched locally", but it can be requested locally and / or remotely several times throughout the life cycle. With that in mind, you need to check every request, as David commented.
Perhaps it would be better if you explained a little more of what you are trying to achieve?
Owen
source share