如何在IIS 8上查看当前正在执行的Web请求

时间:2013-03-25 17:54:32

标签: iis-8

在IIS 7中,我会点击“工作流程”,然后点击“查看当前请求”以查看当前正在执行的所有请求。

http://technet.microsoft.com/en-us/library/cc732518(v=WS.10).aspx

在IIS 8中,我没有看到此选项。我需要在IIS 8上设置一些东西吗?

编辑:我也尝试以管理员身份运行inetmgr。

4 个答案:

答案 0 :(得分:71)

没有任何UI提示,但能够将其作为服务器管理器下的功能打开。

服务器管理器 - >添加角色。

  • Web服务器(IIS)
    • Web服务器
      • 健康与诊断
        • 请求监视器

答案 1 :(得分:28)

可以使用PowerShell安装所需的功能。

IIS管理器:

_all_docs

请求监控:

Install-WindowsFeature Web-Mgmt-Tools

安装了这些功能后,运行IIS管理器,浏览到下面屏幕截图中显示的“工作进程”部分。从工作进程列表中,双击感兴趣的进程以查看当前正在执行的请求或使用右键单击上下文菜单。

enter image description here

地址栏左侧的后退/前进箭头可用于在请求列表和工作进程之间来回导航。 Install-WindowsFeature Web-Request-Monitor / alt+left arrow键执行相同的操作。

答案 2 :(得分:7)

此节目是安装它的步骤。来自https://portal.ektron.com/KB/10396/

要在安装后运行它,您需要在IIS管理器中的服务器设置上找到“工作进程”图标。

enter image description here

ASP.net的另一个好选择是转到任务管理器,右键单击该进程并选择“创建转储文件”,然后下载并双击创建的.dmp文件,将其加载到Visual Studios调试器中。然后查看线程及其调用堆栈,以查看所有请求的执行位置。 此方法允许您准确查看请求正在执行的操作(无限循环,死锁等)

答案 3 :(得分:7)

我必须从提升的命令行

执行此操作
%windir%\system32\inetsrv\appcmd list requests 

如果您希望查看超过5秒的请求

%windir%\system32\inetsrv\appcmd list requests /elapsed:5000

在一个循环中(假设你在%windir%\system32\inetsrv\

for /l %x in (,,) do (appcmd list requests /elapsed:5000 & timeout 2)