添加性能计数器类别挂起计算机

时间:2013-04-24 14:07:38

标签: c# asp.net-mvc windows c#-4.0 performancecounter

我正在尝试从ASP.NET MVC应用程序(在Windows 8 x64 PC上使用VS 2012)添加Perfomance计数器,但我遇到的问题是,如果我检查类别是否存在或添加新的性能计数器类别,计算机挂起

我的代码是:

namespace TestMvcCounter
{
  public class MvcApplication : System.Web.HttpApplication
  {
      protected void Application_Start()
      {
          AreaRegistration.RegisterAllAreas();

          WebApiConfig.Register(GlobalConfiguration.Configuration);
          FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
          RouteConfig.RegisterRoutes(RouteTable.Routes);
          BundleConfig.RegisterBundles(BundleTable.Bundles);

          if (!PerformanceCounterCategory.Exists("MY_TEST"))
          {
              CounterCreationDataCollection ccdc = new CounterCreationDataCollection();
              ccdc.Add(new CounterCreationData() { CounterName = "# loops", CounterType = PerformanceCounterType.RateOfCountsPerSecond32 });

              PerformanceCounterCategory.Create("MY_TEST", "Test performance counter", PerformanceCounterCategoryType.MultiInstance, ccdc);
          }

      }
   }
}

当代码到达此行时

!PerformanceCounterCategory.Exists("MY_TEST")

系统挂起,没有任何异常或超时

你知道造成这个问题的原因是什么吗?

1 个答案:

答案 0 :(得分:1)

深度搜索后我发现问题是IIS Express 8。

我试图取消它并重新安装但没有工作,然后我尝试再次取消安装并安装IIS Express 7.5并且它可以正常工作