在 IIS 7 中,我会单击“工作进程”,然后单击“查看当前请求”以查看当前正在执行的所有请求。
http://technet.microsoft.com/en-us/library/cc732518(v=WS.10).aspx
在 IIS 8 中,我看不到此选项。我需要在 IIS 8 上设置什么吗?
编辑:我也尝试以管理员身份运行 inetmgr。
在 IIS 7 中,我会单击“工作进程”,然后单击“查看当前请求”以查看当前正在执行的所有请求。
http://technet.microsoft.com/en-us/library/cc732518(v=WS.10).aspx
在 IIS 8 中,我看不到此选项。我需要在 IIS 8 上设置什么吗?
编辑:我也尝试以管理员身份运行 inetmgr。
没有任何 UI 提示,但能够将其作为服务器管理器下的功能打开。
服务器管理器 -> 添加角色。
可以使用 PowerShell 安装所需的功能。
IIS 管理器:
Install-WindowsFeature Web-Mgmt-Tools
请求监视器:
Install-WindowsFeature Web-Request-Monitor
安装这些功能后,运行 IIS 管理器,浏览到下面屏幕截图中显示的工作进程部分。从工作进程列表中,双击感兴趣的进程以查看当前正在执行的请求或使用右键单击上下文菜单。
地址栏左侧的后退/前进箭头可用于在请求列表和工作进程之间来回导航。alt+left arrow
/alt+right arrow
键执行相同的操作。
我必须从提升的命令行执行此操作
%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)
这个节目是安装它的步骤。来自https://portal.ektron.com/KB/10396/:
要在安装后运行它,您需要在 IIS 管理器的服务器设置中找到“工作进程”图标。
使用 ASP.net 的另一个不错的选择是转到任务管理器,右键单击进程并选择“创建转储文件”,然后下载并双击创建的 .dmp 文件以将其加载到 Visual Studios 调试器中。然后通过线程及其调用堆栈查看所有请求的执行位置。此方法允许您准确查看请求在做什么(无限循环、死锁等)