我有一个Silverlight应用程序托管在ASP.NET页中。当应用程序首次启动并启动一些后台进程(各种定期检查)时,我需要做一些处理。
我认为global.asax应用程序启动事件是一个很好的地方,但我发现应用程序启动多次,这是我没有预料到的。从我读到的内容来看,当最后一个用户注销我的应用程序时,他们的会话会消失,IIS会卸载我的应用程序。当下一次请求它时,它会再次被加载,应用程序会再次运行,这不是我真正想要的。
这是预期的行为吗?有没有办法让应用程序保持加载状态而不象这样重新启动?
其次,我要运行这些周期性的后台进程。也许Windows服务对他们来说是个更好的地方,但是在我的应用程序的静态类中运行计时器是很方便的。即使没有活动用户,我是否有办法保持这些运行?