【发布时间】:2011-05-05 03:31:08
【问题描述】:
我正在使用一个与 SQL Server 代理交互的网站,以便安排报告的自动处理和电子邮件发送。我最近注意到,当 AppPool 回收时,我之后不会收到报告 - 直到有人再次登录该网站。网站可能数小时/数天都不会受到攻击,在此期间所有计划任务都会丢失。
我想设置一个 Windows 任务以定期运行或触发 AppPool 回收事件。但我不确定任务应该是什么。我有一个建议是设置一个 Windows 任务来运行一个会访问网站的 .js 脚本,但这仅适用于 Windows 身份验证(未使用):
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlhttp.open("POST", "http://localhost/website/default.aspx", false);
xmlhttp.send();
寻找一些关于如何在 IIS AppPool 回收后“唤醒”网站的建议。
谢谢。 ab.
【问题讨论】:
-
为了解决基本身份验证挑战,我将凭据添加为:xmlhttp.open("POST", "localhost/website/default.aspx", false, "user", "password);
-
我没有创建定期运行的 Windows 任务,而是使用 Windows 事件查看器将操作绑定到事件,并将任务附加到 IIS AppPool Recycle 事件。
标签: iis web scheduled-tasks application-pool recycle