如果执行IIS重置,那么当前正在处理但尚未完成的请求是否已loginIIS日志?
而且,已完成但尚未刷新到日志文件的请求仍会写入文件吗?
我想不是,所有内存中的会话状态也都丢失了。 根据Microsoft 启动或停止Web服务器(IIS 8)的文档:
当您想要停止Web服务器提供内容时(例如升级应用程序时),可以停止IIS。 要停止Web服务器,您必须停止Windows进程激活服务(WAS)和万维网发布服务(W3SVC)。 您可以在准备好Web服务器以再次提供内容时启动Web服务器。
当您停止WAS和W3SVC时, 连接到您的Web服务器的所有会话 都将被丢弃。 任何内存中的会话状态都将丢失。 所有网站都不可用,直到这些服务重新启动。 因此,如果可以,请避免停止并重新启动Web服务器。
关于IIS重置活动 :
IISreset.exe是一个命令行实用工具,可用于停止,启动和重新启动IIS Internet服务。
注意:重新启动或停止IIS或重新启动Web服务器是一个严重的操作。 当您使用IISreset时,您的网站和应用程序将不可用, 连接到您的Web服务器的所有会话都会被 丢弃,并且您在应用程序中失去了现有状态。 元数据库的 更改 可能会丢失。 在受影响的Internet服务重新启动之前,您的网站和应用程序将不可用。
IISreset命令停止并重新启动IISpipe理服务,Windows进程激活服务(WAS)和万维网发布服务(WWW服务)。
除非绝对必要,否则应避免使用IISreset。 相反,首先尝试重新启动可能导致问题的单个网站或单个应用程序池。
IIS日志logging概述 :
…当发生可login事件(通常是HTTP事务)时,IIS调用所选日志logging模块,然后写入存储在%SystemRoot%\ system32 \ Logfiles \中的日志之一。
据我所见,首先,必须完成一个HTTP转换才能被logging下来,然后logging服务也必须运行直到写完它。 所以在停机和开始之间有一个灰色区域,而且很less有机会被完全写入日志。 这也取决于相关服务在closures之前等待多长时间。
IIS重置执行干净的服务重新启动,因为这样的日志文件已正确closures。
它不像你杀了这个过程。 (或者如果重启由于问题扩展而无法完成,因为在这种情况下进程将挂断并完成死亡)