Asp.net 在HttpModule中更新的PerformanceCounter未在PerfMon中更新

Asp.net 在HttpModule中更新的PerformanceCounter未在PerfMon中更新,asp.net,httpmodule,performancecounter,Asp.net,Httpmodule,Performancecounter,我正在尝试将PerformanceCounter日志添加到我们的WebForms应用程序中。我正在尝试移植一个MVC实现,它使用ActionFilters将每个控制器操作的请求持续时间写入自定义性能计数器实例 我的实现是编写一个HttpModule,它记录OnBeginRequest和OnEndRequest以写入这些定制性能计数器。但是,当我在PerfMon中查看时,我可以看到我的计数器的实例显示在PerfMon中,但是这些值都是空的(“----”) 我正在使用以下代码初始化性能计数器: va

我正在尝试将PerformanceCounter日志添加到我们的WebForms应用程序中。我正在尝试移植一个MVC实现,它使用ActionFilters将每个控制器操作的请求持续时间写入自定义性能计数器实例

我的实现是编写一个HttpModule,它记录OnBeginRequest和OnEndRequest以写入这些定制性能计数器。但是,当我在PerfMon中查看时,我可以看到我的计数器的实例显示在PerfMon中,但是这些值都是空的(“----”)

我正在使用以下代码初始化性能计数器:

var counter = new PerformanceCounter {
    CategoryName = categoryName,
    CounterName = counterName,
    InstanceName = instanceName,
    ReadOnly = false,
    InstanceLifetime = PerformanceCounterInstanceLifetime.Process,
    RawValue = 0,
};
即使我没有更新该值,我也会假设最后一个值是0,但它是'----'

与本文关联的示例中的代码确实有效,并且使用相同的语法。我确实注意到,由MVC属性编写的计数器没有“Parent”,但是由WebForms模块创建的计数器指定了一个Parent。我不知道这是否与此有关

我已检查以确保事件日志中未记录任何错误。我希望得到有关我的性能计数器为何不更新的指导

谢谢

更新日期2014年6月5日
我发现问题是实例名称中有一个“/”,它会变成父/实例,一旦创建就找不到它。请确保清理实例名称,以确保不存在正斜杠,否则将无法更新值。

我发现问题在于我分配的实例名称中存在正斜杠(“/”),该斜杠被拆分为父/实例,创建后无法找到。确保清理实例名称以确保不存在正向斜杠,否则将无法更新性能计数器的值