我正在编写一个ETW使用者来监听ASP.NET事件。我在下面的示例代码很好地在Windows 2008服务器上运行,它可以看到ASP.NET提供程序。我遇到的问题是,在我的Win7(64)PC上,我没有看到ASP.NET提供程序,所以此代码将所有事件显示为“未处理”。 我已确保安装了跟踪功能,并且applicationhost.config文件中包含相应的值。
当我做一个logman -query提供者时,我看不到 PC上的ASP.NET AFF081FE-0247-4275-9C4E-021F3DC1DA35提供程序,但我在我测试的Win2008服务器上看到了这一点。
如何执行以下两项之一: 将其作为提供者添加到我的Win7 PC中?
OR
让代码能够处理此消息并在我的代码中提供清单。当我设置“AFF081FE-0247-4275-9C4E-021F3DC1DA35”作为提供者时,我确实得到了事件,但它们来自未知提供者。所以我猜测清单内容丢失了。
我的示例代码位于
之下libxml2-dev
答案 0 :(得分:0)
ASP.NET跟踪在本地计算机上不可用的原因是因为它未安装。如果您查看perfview帮助,它会为您提供有关如何启用它的说明。
FYI perfview使用TracEevent
来捕捉痕迹。
这是
ASP.NET事件
ASP.NET具有一组在每个事件时发送的事件 请求是流程。 PerfView有一个可以打开的特殊视图 打开ASP.NET事件时。默认情况下,PerfView会打开 但是,在ASP.NET事件中,您还必须选择“跟踪”#39; 安装ASP.NET以使这些事件起作用的选项。因此如果 您没有看到运行ASP.NET方案的ASP.NET事件 这可能是您没有获取数据的原因之一。启用ASP.NET跟踪
启用跟踪的最简单方法是使用DISM工具 与操作系统。从中运行以下命令 提升的命令提示符
DISM /online /Enable-Feature /FeatureName:IIS-HttpTracing
请注意,此命令将重新启动Web服务(以使其生效), 如果您的ASP.NET服务处理很长时间,可能会导致复杂 (很多秒)请求。这将强制DISM延迟(对于a 重启)或中止未完成的请求。因此,您可能希望 安排与其他服务器维护。一旦这个配置 它在特定的机器上完成,它仍然存在。你也可以 使用GUI界面手动配置。你首先需要 进入配置Windows软件的对话框。这有所不同 取决于您是在客户端还是服务器版本上 操作系统。
在客户端 - 开始 - >控制面板 - >程序 - >程序和 特点 - >打开或关闭Windows功能 - >互联网信息服务 - >万维网服务 - >健康与诊断 - >跟踪服务器 - 开始 - >计算机 - >对 点击 - >管理角色 - > Web服务器(IIS) - >滚动服务添加角色 服务健康与诊断 - >跟踪
希望这有帮助。