Since IIS 8.0 autostart is built-in, however it is not easy to get it working. There are a couple of steps to make it work.
First , Go to your IIS Console, then under app pools, right click->Avanced settings
Changed Start mode to AlwaysRunning
Now select your website under Sites, and on the right actions tab, select Advanced Settings..
Now set Preload Enabled to true
Almost done, now in your web.config file for the website, under <system.webServer> , add the following :
<add initializationPage=”/jobs” />
Where initializationPage would be a route OR a page that will trigger loading of your app.