Хорди, я недавно испытал ту же проблему.
На основании моего теста Application_Start() вызывается ТОЛЬКО, когда 1-й запрос ISS для WebApp. (если вы попытаетесь запустить VS в Debug без его открытия любой страницы (см. параметры в proj/debug), вы увидите, что Application_Start() не будет вызываться также, если вы не запустите WebApp в Azure)
Я полагаю, что вам нужно делать что-то, когда запускается WebRole, хорошо помещайте свой код в WebRole.cs ;)
Здесь вы можете переопределить OnStart() и OnStop() и поместить свой код, который будет выполняться при запуске WebRole.
Я использовал этот способ для запуска BakgroundWorker, который выполняет некоторые запланированные задачи, независимо от IIS.
Надеюсь, эта помощь.
Давида.
Заметка:
1 - если вы не создали WebRole.cs, создайте его в корне проекта и напишите внутри:
открытый класс WebRole: RoleEntryPoint
{
public override bool OnStart ()
{
...ваш код...
return base.OnStart ();
}
}
2 - If you need to debug the code mind that you need to run VS in debug with the Azure project that refer to WebApp as a "Run Project", otherwise the WebRole will not be called