在 IIS 6 上,IIS 重置有什么作用?
请与回收应用程序池以及停止和启动 ASP.NET 网站进行比较。
如果您替换 DLL 或编辑/替换 ASP.NET 网站上的 web.config,是否与停止和启动该网站相同?
IISReset 停止并重新启动整个 Web 服务器(包括非 ASP.NET 应用程序)
回收应用程序池只会影响在该应用程序池中运行的应用程序。
在 Web 应用程序中编辑 web.config 只会影响该 Web 应用程序(仅回收该应用程序)。
在机器上编辑 machine.config 将回收所有正在运行的应用程序池。
IIS 将监视应用程序的 /bin 目录。每当在这些 dll 中检测到更改时,它将回收应用程序并重新加载这些新 dll。它还以相同的方式监视 web.config 和 machine.config,并对适用的应用程序执行相同的操作。
IISReset 重新启动整个网络服务器(包括所有关联的站点)。如果您只是想重置单个 ASP.NET 网站,您应该只回收该 AppDomain。
重置 ASP.NET 网站的最常见方法是编辑 web.config 文件,但您也可以使用以下内容创建管理页面:
public partial class Recycle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HttpRuntime.UnloadAppDomain();
}
}
这是我写的一篇博文,其中包含更多信息:在 ASP.NET 应用程序中避免 IISRESET
它在整个 IIS 进程树上运行,而不仅仅是您的应用程序池。
C:\>iisreset /?
IISRESET.EXE (c) Microsoft Corp. 1998-1999
Usage:
iisreset [computername]
/RESTART Stop and then restart all Internet services.
/START Start all Internet services.
/STOP Stop all Internet services.
/REBOOT Reboot the computer.
/REBOOTONERROR Reboot the computer if an error occurs when starting,
stopping, or restarting Internet services.
/NOFORCE Do not forcefully terminate Internet services if
attempting to stop them gracefully fails.
/TIMEOUT:val Specify the timeout value ( in seconds ) to wait for
a successful stop of Internet services. On expiration
of this timeout the computer can be rebooted if
the /REBOOTONERROR parameter is specified.
The default value is 20s for restart, 60s for stop,
and 0s for reboot.
/STATUS Display the status of all Internet services.
/ENABLE Enable restarting of Internet Services
on the local system.
/DISABLE Disable restarting of Internet Services
on the local system.
应用程序池回收会重新启动该应用程序池的 w3wp.exe 进程,因此它只会影响在该应用程序池中运行的网站。
IISReset 重新启动所有 w3wp.exe 进程和任何其他 IIS 相关服务,即 NNTP 或 FTP 服务。
我认为改变web.config
或/bin
不回收整个应用程序池,但我不确定。
它停止和启动 IIS 所包含的服务。
您可以将其视为关闭相关程序并重新启动它。
当您更改 ASP.NET 网站的配置文件时,它会重新启动应用程序以反映更改...
当您执行 IIS 重置时,将重新启动在该 IIS 实例上运行的所有应用程序。
编辑web.config
文件或更新文件夹中的 DLLbin
只会回收该应用程序的工作进程,而不是整个池。
IISReset 重新启动整个网络服务器(包括所有关联的站点)。如果您只是想重置单个 ASP.NET 网站,您应该只回收该应用程序域。
这里 Technet 对iisreset有什么要说的
在某些配置更改生效或应用程序不可用时,您可能需要重新启动 Internet 信息服务 (IIS)。重新启动 IIS 与首先停止 IIS,然后重新启动它相同,不同之处在于它是通过单个命令完成的。