win7 PC上的ASP.NET ETW提供程序缺失

时间:2015-04-24 12:41:07

标签: asp.net trace provider etw

我正在编写一个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

1 个答案:

答案 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) - >滚动服务添加角色   服务健康与诊断 - >跟踪

希望这有帮助。