我正在开发一个诊断IHttpHandler
处理程序,它应该列出来自WCF服务的关键指标,例如“每秒呼叫数”,“呼叫”,“呼叫失败”,“呼叫持续时间”等。< / p>
首先,我做了很多googeling,因为有几个报告悬挂性能计数器的情况。我有与此处描述的相同的问题: Add Performance Counter Category Hangs Computers IISExpress 10和Visual Studio 2015上仍会出现此问题。在IIS中托管时没有问题。
以下源代码适用于在IIS中托管的WinForms应用程序IHttpModule
,但IHttpModule
在IISExpress中托管时挂起
PerformanceCounter PC = new PerformanceCounter();
PC.CategoryName = "ServiceModelEndpoint 4.0.0.0";
PC.CounterName = "Calls Per Second";
PC.InstanceName = "WkisCoreService.IWkisCoreService@33Service.svc|WS2007HTTPBINDING";
float value = PC.NextValue(); // Hanging here
或者
PerformanceCounterCategory.GetCategories();
或者
PerformanceCounterCategory category =
new PerformanceCounterCategory("ServiceModelEndpoint 4.0.0.0");
string[] instances = category.GetInstanceNames(); // Hanging here
没有超时或异常。当从IHttpModule
调用时,它似乎无休止地挂起。
为了能够在IISExpress中开发/调试,有什么想法解决这个问题吗?