gpt4 book ai didi

asp.net - 为什么 Application_Start 在 Global.asax 中多次触发?

转载 作者:行者123 更新时间:2023-12-02 10:03:41 26 4
gpt4 key购买 nike

我有一个托管在 ASP.NET 页面中的 Silverlight 应用程序。我需要在应用程序第一次启动时做一些处理,启动一些后台进程(各种定期检查)。

我认为 Global.asax Application_Start 事件是执行此操作的好地方,但我发现 Application_Start 多次触发,这是我没有预料到的。从我读到的内容看来,当最后一个用户注销我的应用程序时,他们的 session 就会消失,并且 IIS 会卸载我的应用程序。当下次请求时,它会再次加载,并且 Application_Start 再次运行,这并不是我真正想要的。

这是预期的行为吗?有什么办法可以保持应用程序加载而不是像这样重新启动吗?

其次,我想要运行这些定期后台进程。也许 Windows 服务对他们来说是更好的地方,但是在我的应用程序中的静态类中运行计时器很方便。即使没有活跃用户,有没有办法让它们保持运行?

最佳答案

我认为您正在尝试实现一种不太适合网络服务器模型的行为。许多 CMS 尝试通过让一些用户 Web 请求启动工作来执行定期任务等,但我从未见过它取得很大成功。

如果您不受部署问题、访问权限等限制,我建议您使用 Windows 服务方法。只需确保将其合并到您的构建/部署过程中,这样就不会变得困惑。

关于asp.net - 为什么 Application_Start 在 Global.asax 中多次触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2307127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com