这是创建性能计数器的代码:
var ftpPerfCounter = new PerformanceCounter("FTP Service", "Current Connections", "_Total");这是例外情况发生的地方:
int cnt = (int)Math.Round(ftpPerfCounter.NextValue());下面是Exception消息:
错误消息:指定类别的计数器布局无效,类型为: AverageCount64、AverageTimer32、CounterMultiTimer、CounterMultiTimerInverse、CounterMultiTimer100Ns、CounterMultiTimer100NsInverse、RawFraction或SampleFraction的计数器必须紧跟任何基本计数器类型: AverageBase、CounterMultiBase、RawBase或SampleBase。
错误信息非常神秘。我不知道将来怎样才能避免这种例外情况。
详细信息
这种情况发生在Windows 2008 R2 64位操作系统上.FTP服务器是IIS。
发布于 2012-08-10 18:59:19
至少在IIS7.5的Windows 2008 R2上,性能计数器类别称为"Microsoft服务“,而不是"FTP服务”。也许对于不同的OS/IIS版本,它是不同的,但是它很容易检查。
在目标服务器/计算机上:
当然,这也证明了性能计数器独立于代码工作。知道这是件好事!
有关如何使用C#/.NET中的性能计数器参见此堆栈溢出帖子的具体最佳实践。
发布于 2012-08-02 18:14:15
我的电脑上没有安装IIS,但如果我安装了IIS,我会尝试这样做:
发布于 2012-08-10 11:10:58
他们似乎解决了一个类似的问题,这里。也许你必须设置一个基地柜台?
https://stackoverflow.com/questions/10739842
复制相似问题