У меня есть приложение Silverlight, размещенное на странице ASP.NET. Мне нужно выполнить некоторую обработку при первом запуске приложения и запустить некоторые фоновые процессы (различные периодические проверки).
Я думал, что событие Global.asax Application_Start будет хорошим местом для этого, но я обнаружил, что Application_Start запускается несколько раз, чего я не ожидал. Из того, что я прочитал, кажется, что когда последний пользователь выходит из моего приложения, его сеанс исчезает, и IIS выгружает мое приложение. При следующем запросе он снова загружается, и снова запускается Application_Start, что не совсем то, что я хочу.
Это ожидаемое поведение? Есть ли способ сохранить приложение загруженным и не перезапускать его так?
Во-вторых, у меня есть эти периодические фоновые процессы, которые я хочу запустить. Возможно, для них было бы лучше использовать службу Windows, но в моем приложении удобно запускать таймер из статического класса. Могу ли я сохранить их работоспособными, даже если нет активных пользователей?