原文:http://technet.microsoft.com/zh-cn/library/cc754494
应用到: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista
如果您的应用程序在运行超过一段时间后会产生问题,则可以将应用程序池配置为在一天(24 小时)的任意特定时间执行回收。 您应当基于对应用程序的了解来设置时间间隔,使回收频率足以防止应用程序失败。
先决条件
有关您可以在哪些级别执行此过程以及执行此过程所需的模块、处理程序和权限的信息,请参阅 应用程序池功能要求 (IIS 7)。
功能要求方面的例外情况
- 无
将应用程序池配置为在计划时间执行回收
您可以通过以下方法执行此过程:使用用户界面 (UI)、在命令行窗口中运行 Appcmd.exe 命令、直接编辑配置文件或编写 WMI 脚本。
用户界面
使用 UI
-
打开 IIS 管理器。 有关如何打开 IIS 管理器的信息,请参阅 打开 IIS 管理器 (IIS 7)。
-
在“连接”窗格中,展开服务器节点,然后单击“应用程序池”。
-
在“应用程序池”页上,选择一个应用程序池,然后在“操作”窗格中单击“回收”。
-
选择“特定时间(S)”,然后在相应的框中键入要让应用程序池在每天执行回收的时间。 例如,键入 11:30 AM 或 11:30 PM。
备注 您输入的值将保存在基于 24 小时制的配置中。 -
单击“下一步”,选择在应用程序池回收期间应记录的事件,然后单击“完成”。
命令行
若要计划让应用程序池在特定的时间执行回收,请使用以下语法:
appcmd set apppool /apppool.name: 字符串 /+recycling.periodicRestart.schedule.[value=' timeSpan ']
变量 string 为您要配置的应用程序池的名称。 变量 timeSpan 的格式为 d.hh:mm:ss,其中 d 表示可选的天数,hh:mm:ss 表示回收应用程序池时的小时、分钟和秒钟读数。
备注 |
---|
您指定的值必须基于 24 小时制。 |
例如,若要计划让应用程序池 Marketing 在每天下午 3:00 执行回收,请在命令提示符处键入以下命令,然后按 Enter:
appcmd set apppool /apppool.name: Marketing /+recycling.periodicRestart.schedule.[value='15:00:00']
若要更改现有的计划时间,请使用以下语法:
appcmd set apppool /apppool.name: string /recycling.periodicRestart.schedule.[value='timeSpan'].value: [d].时:分:秒
变量 string 为您要配置的应用程序池的名称。 timeSpan 的第一个实例是应用程序池进行回收的现有计划时间,第二个实例是要让应用程序池执行回收的新时间。 timeSpan 的格式为 d.hh:mm:ss,其中 d 是可选的天数,hh:mm:ss 是回收应用程序池时的小时、分钟和秒钟读数。
备注 |
---|
您指定的值必须基于 24 小时制。 |
例如,若要让前一示例中的 Marketing 应用程序池改在下午 5:00 执行回收,请在命令提示符处键入以下命令,然后按 Enter:
appcmd set apppool /apppool.name: Marketing /recycling.periodicRestart.schedule.[value='15:00:00'].value:17:00:00
有关 Appcmd.exe 的详细信息,请参阅 Appcmd.exe (IIS 7) 。
配置
本主题中的过程会影响以下配置元素:
<periodicRestart> 下的 <schedule> 下的 <add> 元素
有关 IIS 7 配置的详细信息,请参阅 MSDN 上的 IIS 7.0:IIS 设置架构(可能为英文页面)。
WMI
请使用以下 WMI 类、方法或属性执行此过程:
- ApplicationPool.Recycling.PeriodicRestart.Schedule 属性
有关 WMI 和 IIS 的详细信息,请参阅 IIS 7 中的 Windows Management Instrumentation (WMI)。 有关与此过程关联的类、方法或属性的更多信息,请参阅 MSDN 网站上的 IIS WMI 提供程序参考(可能为英文页面)。