asp.net - 缓存事件是否会阻止 IIS 卸载 ASP.NET 应用程序?

标签 asp.net

我想向客户端的 ASP.NET 应用程序添加计划任务。这些帖子很好地阐述了这个想法:

我的问题有两个部分:首先,如果尽管有缓存事件但没有足够的请求事件,IIS 是否会卸载应用程序?我的客户没有像 stackoverflow 那样享受那么多流量,因此他们不能依赖用户请求来保持应用程序“活跃”。显然,我无法在已卸载的应用程序中安排任务。

其次,如果是这样,是否有办法阻止 IIS 在配置或外部“保持事件”请求之外卸载应用程序?我的客户主机不允许进行太多配置调整,并且保持事件实用程序会引入我试图通过 ASP.NET 缓存解决方案避免的部署复杂性。

非常感谢。

编辑/结论:鉴于问题,TheXenocide 的解决方案是完全正确的。然而,我认为这是一个非常糟糕的问题。偷工减料的诱惑总是若隐若现。我恢复了理智,告诉我的客户使用网站监控工具来保持网站活跃。此外,尽管存在额外的部署麻烦,但计划任务仍在 Windows 服务中进行。

最佳答案

不幸的是,超出了更改超时配置的范围(我相信这在 Web.config 中是可能的,尽管我不知道托管提供商允许什么和不允许什么,大多数都使用中等信任)我不知道不相信除了网络请求之外还有任何其他方法可以阻止应用程序结束。您可能会尝试的一件事可能比在本地计算机上使用某些保持事件服务更简单,可能是向 Session_Start/Session_End 添加一些逻辑,以确保始终至少有一个 session 处于事件状态;您可以使用 WebRequest从您的应用程序中调用您自己的站点的类,它仍然应该启动一个新 session 。

祝你好运,让我们知道你在做什么:)

更新:这些详细信息现在很大程度上取决于您运行的 IIS 版本和 .NET 版本。每个版本的较新版本都有配置“始终运行”应用程序的方法。

关于asp.net - 缓存事件是否会阻止 IIS 卸载 ASP.NET 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/127563/

相关文章:

asp.net - 将 ASPX 中 RadioButtonList 的 ListItem 值设置为常量

c# - 如何在 css 中突出显示 "onmouseover"?

c# - 如果它有多个值,如何返回查询字符串的第一个值?

asp.net - Dapper vs Petapoco-在ASP.NET 4.5 Web应用程序中轻松访问数据

c# - asp.net 中的 session 体系结构

c# - 编写具有轮询功能的应用程序的最佳方式

asp.net - 来自经典 ASP 或 ASP.NET 的 Microsoft Search Server 2008 Express Edition

asp.net - Request.Querystring 在使用单元测试时为空

asp.net - Informix - 在删除触发器中捕获用户 ID

jquery - 使用服务器端弹出窗口时阻止 UI